
3.没有处理用户输入
这或者可以这样说#1:永远不要相信用户的输入。用服务器端的PHP验证每个字符串,不要寄希望与JavaScript。最简单的SQL注入攻击会利用如下的代码:
$username = $_POST["name"];
$password = $_POST["password"];
$sql = “SELECT userid FROM usertable WHERE username=’$username’ AND password=’$password’;”;
// run query…
只要在username字段输入”admin’;–”,这样就会被黑到,相应的SQL语句如下:
SELECT userid FROM usertable WHERE username=’admin’;
狡猾的黑客可以以admin登录,他们不需要知道密码,因为密码段被注释掉了。