存储个人语录

时间:2012-04-22 16:58:38

标签: php

  

可能重复:
  Best way to stop SQL Injection in PHP

我很好奇在将数据存储到数据库之前,我应该在文本字符串上运行的所有函数。

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

3 个答案:

答案 0 :(得分:3)

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

  • 使用参数化查询,您可以免除整个“逃避”的考验。
  • 如果参数化查询不是一个选项,请使用mysql_real_escape_string()。
  • addslashes()stripslashes()可能在特定情况下有效 - 但除非您知道正好您正在做什么,否则请不要使用它们,除非您确定它不会使你的代码容易受到多字节注入攻击。
  • 像“剥离空白”这样的方法在这里完全没用。 “Cargo-cult programming”,你可以称之为。

答案 1 :(得分:1)

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

答案 2 :(得分:-2)

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

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

首先stripslashes()然后

trim()然后

mysql_real_escape_string()