我想用 PHP 开发一个函数来检查 SQL 语句的危险程度。当我说危险时,我的意思是某些符号、字符或字符串用于从用户不应该看到的数据库中获取数据。
例如:
SELECT * FROM users WHERE userId = '1'
可以通过多种方式注入(inject)。虽然我清理了参数,但我还想监控查询运行的安全性。
提前致谢
最佳答案
您正在尝试为不应该存在的问题找到解决方案。您应该使用准备好的(预编译的)查询,这样您就不必担心 SQL 注入(inject)和转义,因为查询本身是固定的,只有参数是可变的。
有关在 PHP 中使用它们的示例,请参见此处:http://mattbango.com/notebook/web-development/prepared-statements-in-php-and-mysqli/
另一个优点是它也更快,至少对于 MySQL 来说是这样,因为服务器不必每次都解析查询。
关于php - SQL 语句危险的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2792084/