使用MySQL重新SQL注入攻击,什么是基线要求?
在当前使用MySQL的项目中。 研究mysqli
函数,发现它们很难使用。 在我看来,任何使用该库的程序员都应该获得荣誉勋章。
三个问题:
mysqli
不处理NULL或函数,如CURRENT_DATE sqli
工作太多了(请参阅链接) PDO不能解决任何这些问题。 问题是SQL注入:如果不使用参数化查询,PDO如何帮助SQL注入?
记住这一点,在PHP中为MySQL编写了一个简单而有效的工作。 请参阅https://github.com/bangkok-maco/MySQL-sql-injection-prevention
(有人帮忙把图书馆放在这里,但用链接替换它,但请使用网站上的REAME进行介绍。)
问题是,我知道基本原则是否解决了需要解决的问题。
原则如下:
从逻辑上来说,这足够吗?
SQL注入可能会导致非法的SELECT(可以简单地被吃掉),但是SELECT可以不写入数据。 DML是参数化的,所以数据是标量的。 敏感数据(例如密码)无法通过普通SQL或普通用户访问。
这个代码像筛子一样泄漏。
你在一个没有mysql_real_escape_string()
函数中调用mysql_query
。
您在另一个功能中使用PDO。
这是一团糟,没有任何意义。 如果你知道如何使用PDO,只需使用它。
那么你会安全。
如果你想使用mysql_query
,你必须使用mysql_real_escape_string()
。
这个问题完全错了。 在这里转载了这个问题。
链接地址: http://www.djcxy.com/p/93459.html上一篇: re SQL Injection Attack using MySQL, what are baseline requirements?