【问题标题】:Best way to escape strings for sql inserts?为sql插入转义字符串的最佳方法?
【发布时间】:2010-10-12 14:21:04
【问题描述】:

为 sql 插入、更新转义字符串的最佳方法是什么?

我想允许特殊字符,包括 ' 和 "。在插入语句中使用之前搜索和替换每个字符串的最佳方法是什么?

谢谢

重复:Best way to defend against mysql injection and cross site scripting

【问题讨论】:

  • 为什么需要做任何解析? mysql不允许参数化查询吗?
  • “解析”是指“转义”,即中和元字符,以便数据可以安全地嵌入到查询中?
  • 好的。根据编辑问题。

标签: php mysql escaping sql-injection sanitization


【解决方案1】:

您应该使用参数化查询(因此扩展为支持参数化查询的数据库接口库),这样就不会发生 SQL 注入。

【讨论】:

    【解决方案2】:

    如果您谈论的是字段的数据值,那么最好的方法是使用mysql_real_escape_string()。 (有些人喜欢mysqli;我不能说我愿意。)如果你说的是允许用户提交的查询......好吧,希望你不是在说这个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-02
      • 2010-10-10
      • 2014-06-21
      • 2012-01-28
      • 1970-01-01
      • 2011-12-27
      • 2017-07-26
      相关资源
      最近更新 更多