1

可能重复:
在 PHP 中停止 SQL 注入的最佳方法

我很好奇在将文本字符串存储在数据库中之前,我应该在引用文本字符串上运行哪些函数。

如果它包含单引号以及其他双引号或其他任何内容,我想处理它。

4

3 回答 3

3

从最有效到最少,您可以做四件事(我在这里假设 MySQL,因为它是与 PHP 最常见的组合):

  • 使用参数化查询,您就可以避免整个“逃避”的考验。
  • 如果参数化查询不是一个选项,请使用 mysql_real_escape_string()。
  • addslashes()并且stripslashes()可能在特定情况下有效 - 但除非您确切知道自己在做什么并且除非您确定它不会使您的代码容易受到多字节注入攻击,否则不要使用它们。
  • 像“去除空白”这样的方法在这里完全没用。“货物狂热的编程”,你可能会这样称呼它。
于 2012-04-22T17:01:18.827 回答
1

mysql_real_escape_string()如果您使用 MySQL,请使用。

于 2012-04-22T17:01:10.537 回答
-2

就php而言,您应该使用trim() and stripslashes(),如果您使用的是mysql,那么mysql_real_escape_string()

您可以按以下顺序使用它们:

首先stripslashes()然后

然后修剪()

mysql_real_escape_string()
于 2012-04-22T17:04:19.090 回答