没有什么比“普遍消毒”。让我们称其为 quota ,因为这就是全部。
引用时, 总是为 某些特定输出 引用文本 ,例如:
- mysql查询的字符串值
like
mysql查询表达式- HTML代码
- json
- mysql正则表达式
- PHP正则表达式
对于每种情况,您都需要不同的引用,因为每种用法都存在于不同的语法上下文中。这也意味着 不应在PHP的输入处 进行
引用,而应在特定的输出处进行引用 !这就是为什么诸如此类
magic_quotes_gpc的功能被损坏的原因(请确保始终将其关闭!!!)。
那么,在这些特殊情况下,将使用哪种方法进行报价?(随时纠正我,可能会有更多现代方法,但是这些方法对我有用)
mysql_real_escape_string($str)
mysql_real_escape_string(addcslashes($str, "%_"))
htmlspecialchars($str)
json_enpre()
-仅适用于utf8!我将函数用于iso-8859-2mysql_real_escape_string(addcslashes($str, '^.[]$()|*+?{}'))
-在这种情况下,您不能使用preg_quote,因为反斜杠将被转义两次!preg_quote()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)