176得票14回答
什么是最好的PHP输入过滤函数?

我正在尝试编写一个函数,可以将所有字符串传递到其中进行清理,以便从中得到的字符串在插入数据库时是安全的。但是有很多过滤函数,我不确定我应该使用/需要哪些过滤函数。 请帮我填空:function filterThis($string) { $string = mysql_real_es...

160得票19回答
文件名字符串过滤器

我正在寻找一个能够清理字符串并使其可以用于文件名的PHP函数。有人知道一个方便的函数吗? (我可以自己写一个,但是我担心会忽略某个字符!) 编辑:用于在Windows NTFS文件系统上保存文件。

160得票4回答
从字符串中删除所有非数字字符; [^0-9]与预期不符。

我想把一个字符串中除了0-9的所有内容都删除,以下是我的尝试代码:echo preg_replace("[^0-9]","",'604-619-5135'); 但它打印输出的是 "604-619-5135"。我错过了什么吗???

154得票19回答
我可以通过转义单引号并用单引号包围用户输入来防止 SQL 注入吗?

我知道使用参数化SQL查询是在构建包含用户输入的查询时清理用户输入的最佳方法,但我想知道采用转义任何单引号并将整个字符串用单引号括起来的方式有什么问题。这是代码:sSanitizedInput = "'" & Replace(sInput, "'", "''") & "'" 用...

141得票23回答
将字符串清理后使其适用于URL和文件名?

我正在尝试编写一个函数,该函数能够很好地清理某些字符串,以便它们可以安全地用于URL(如post slug)和文件名中。例如,当有人上传文件时,我想确保从名称中删除所有危险字符。 到目前为止,我已经想出了以下函数,希望能解决这个问题并允许外国UTF-8数据。/** * Convert a ...

94得票14回答
如何使用PHP在SQL Server中转义字符串?

我正在寻找SQL Server中mysql_real_escape_string()的替代方法。除了使用addslashes()之外,是否还有其他可用的替代函数? 另外,如果能提供mysql_error()的替代方法也会很有帮助。

88得票7回答
AngularJS无其他HTML的换行过滤器

我正在尝试将换行符(\n)转换为html的br标签。 根据Google Group中的讨论,这是我得到的: myApp.filter('newlines', function () { return function(text) { return text.repla...

87得票6回答
如何在SQL Server中通过SQL注入攻击打败逃逸单引号的卫生防护措施?

首先声明,我知道参数化查询是最佳实践,但我想问一下我所提供的策略有什么漏洞。有人坚称以下解决方案不可行,所以我在寻找一个能够说明问题的例子。 如果使用以下转义方式在代码中构建动态SQL,并将其发送到SQL Server,那么什么类型的注入攻击可以破坏它?string userInput= "...

84得票16回答
从字符串中删除所有空白字符

我知道在PHP.net上有这个评论。 我想要一个类似的工具,就像PHP中的tr一样,这样我就可以简单地运行。 tr -d " " "" 我运行了函数php_strip_whitespace但没有成功。 $tags_trimmed = php_strip_whitespace($tag...

77得票5回答
常量FILTER_SANITIZE_STRING已弃用。

我已安装了PHP 8.1并开始测试我的旧项目。我使用了过滤器FILTER_SANITIZE_STRING,如下所示: $username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING); 现在我遇到了这个错误: ...