Meekrodb是一个简单的php - > mysql库。如何测试/验证它是否安全,例如针对sql注入攻击?
答案 0 :(得分:3)
第一个选项是阅读常见问题解答:
我是否应该采取额外的预防措施来阻止SQL注入?
如果遵循2条简单的规则,MeekroDB将100%的SQL注入变为不可能。首先,永远不要将%l(literal)占位符与用户提供的数据一起使用。此占位符不会像所有其他人那样逃避您的数据。其次,不要使用MySQL命令SET NAMES或SET CHARACTER SET在运行时更改字符集。如果需要更改字符集,只需在设置MySQL用户名/密码的同一位置使用DB :: $ encoding。
第二个选项,假设您拥有许可证:
填写以下内容使用查询/输入字段:
'\"
这可能会导致您所见过的最奇怪的错误。它可能只是被转换,在这种情况下你证明它是安全的。
<强>更新强>
例如,从那里开始第一次索赔(与安全性相结合):
“MeekroDB负责处理报价并为您转义。”
现在,为了测试这个特定的声明,他们提供了处理这种情况的方法:
DB::query("SELECT * FROM login WHERE username=%s AND password=%s",
$username,
$password);
为了证明这个说法确实是真的,你可以写一个小的应用程序(例如)输入:
$username = "''""\";