使用mysql_real_eescape_string()进行用户输入是否安全


Is it safe to use mysql_real_escape_string() for user inputs

最近我正在PHP上开发一个小问题生成程序。它使用了一些LaTeX格式的数学公式。

  • 我在插入LaTeX公式时遇到了问题,因为MySQL数据库中没有插入反斜杠。

  • 我在这里描述了这个问题:

    当使用PHP 将LaTeX公式插入MySQL时,Backsplash会自动删除

  • 我使用mysql_real_eescape_string()找到了一个解决方案。但这就产生了另一个问题。

  • 如果现在可以插入反斜杠,那么我的程序是否容易受到sql注入或用户可能做出的任何其他棘手输入的攻击?

根据文档,此函数通常是专门为净化用户输入而设计的,应始终使用:http://php.net/manual/en/function.mysql-real-escape-string.php