微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何防止在LAMP应用程序中进行SQL注入?

如何解决如何防止在LAMP应用程序中进行SQL注入?

正如@Rob Walker所说,参数化查询是您最好的选择。如果您使用的是最新最好的PHP,我强烈建议您看一下PDOPHP数据对象)。这是一个本地数据库抽象库,它支持广泛的数据库(当然包括MysqL)以及带有命名参数的预备语句。

解决方法

以下是开始对话的几种可能性:

  1. 初始化后转义所有输入。
  2. 转义每个值,最好在生成SQL时转义。

第一种解决方案是次优的,因为如果要在除SQL之外的其他任何方式中使用每个值,则需要取消转义每个值,例如在网页上输出它。

第二种解决方案更有意义,但是手动转义每个值是一件痛苦的事情。

我知道已准备好的语句,但是我发现MySQLi麻烦。另外,将查询与输入分离也使我感到担忧,因为尽管正确执行订单至关重要,但很容易出错,从而将错误的数据写入错误的字段。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。