PHP PDO 与 mysql_*() 的安全优势
使用 PHP PDO 代替 mysql_connect() 等有任何安全优势吗?
Are there any security benefits of using PHP PDO instead of the mysql_connect(), etc.?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不会。与 MySQL 扩展相比,PDO 没有任何安全优势(墨菲定律告诉我们的除外,该定律对两者都适用)。两者都会通过转义相同的字符来保证输入安全。
然而,PDO 还有其他优点:
这些通常被认为是最重要的。
No. There is no security benefit to PDO vs the MySQL extension (except for what Murphy's law has taught us, which applies to both). Both will render input safe by escaping the same characters.
However, PDO has other advantages:
These are generally considered as the most important.
甚至不需要绑定参数,就
这么简单。
No need even to bindParam, just do
That easy.
是的,如果您使用
bindParam()
方法而不是使用mysql_real_escape_string()
进行字符串连接。记住在外部数据中使用
bindParam()
比记住使用mysql_*
自己转义每个值要容易得多。此外,PDO 更易于使用。
Yes, if you are using
bindParam()
method instead of string concatenation withmysql_real_escape_string()
.It's much easier to remember to
bindParam()
outside data than it is to remember to escape every value yourself withmysql_*
.In addition, PDO is just much nicer to work with.