gpt4 book ai didi

php - 如何突破此 SQL 注入(inject)保护

转载 作者:可可西里 更新时间:2023-11-01 00:47:36 26 4
gpt4 key购买 nike

这个问题不是关于为已验证的函数创建一个实际的替代方案来防止注入(inject),而是关于如何与那些看不到他们自制的注入(inject)预防代码中的缺陷的人争论!

我正试图向一位同事表明观点,但他的 SQL 注入(inject)“解决方案”对我来说似乎相当安全。

他通过做清除查询

$query = $_POST['username'];
$look = array('&', '#', '<', '>', '"', '\'', '(', ')', '%');
$safe = array('&amp;', '&#35;', '&lt;', '&gt;', '&quot;', '&#39;', '&#40;', '&#41;', '&#37;');
str_replace($look, $safe, $query);

然后继续登录

"SELECT * FROM users WHERE username = '" . $query . "'
AND password = '" . md5($_POST['password']) . "'";

我正试图让他使用 PDO 或等同物,但你怎么能真的破坏这种保护?我没有答案,这真的很困扰我,因为我无法向他解释这为何不安全以及为什么不应该这样做。

最佳答案

我建议“这种方法是否可以被破坏”的问题是不相关的。真正要问的问题是“为什么您要使用自己开发的临时解决方案,而不是已经编写、测试和调试并且已经被成千上万的用户使用的解决方案?”

关于php - 如何突破此 SQL 注入(inject)保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14524575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com