2013-03-04 41 views
1

对于数据库安全性,我是否需要在准备好的语句中使用BOTH绑定参数,并在输入中使用mysql_real_escape_string()?PHP Mysqli - 参数绑定和escape_string?

谢谢!

+0

不!绑定参数会自动在字符串中转义引号,这就是他们的目的:所以不要自己动手,除非你想在保存的值中使用错误的转义字符 – 2013-03-04 23:44:06

回答

1

不,参数化查询可以自行处理。只要您将所有可变数据保存在参数中,并从查询中单独传递,则可以在不进行任何转义/ unescape处理的情况下提取它们。

你不应该在输入阶段总括地逃避 - 你不知道在实际注入点之前你需要什么类型的转义(SQL,HTML,JS,...)一个值放入其中一个字符串上下文中。对所有输入数据应用各种转义只会导致输入处理错乱和不一致。

相关问题