【问题标题】:Shouldn't mysql_real_escape_string() leave slashes in Database?mysql_real_escape_string() 不应该在数据库中留下斜杠吗?
【发布时间】:2010-09-21 14:40:40
【问题描述】:

我使用 smarty 和 mysql_real_escape_string() 进行用户输入, 当我用 '" 插入一些代码,并在 phpmyadmin 中查找 它显示时没有反斜杠。

当我从数据库获取记录时,我也没有反斜杠。 但是当我只是传递转义字符串而不插入数据库时 它是反斜杠的。

不应该添加斜线,插入它们然后我会 当我输出时剥离它们? 还是我错过了什么?

【问题讨论】:

    标签: php mysql escaping smarty


    【解决方案1】:

    你错过了 - 用反斜杠转义是为了确保查询没有格式错误,例如像这样的东西肯定会破坏并可能冒 SQL 注入的风险:

    insert into table values ('whatever 'this' is')
    

    表格中不会保存任何内容,而这个:

    insert into table values ('whatever \'this\' is')
    

    将在表中保存值“无论 'this' 是什么”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-04
      • 2011-03-29
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多