2、利用PHP的mysql函数 PHP自发生之日就供应了MySQL库函数(or near as makes no difference)。良多使用依然在利用相似mysql_connect、mysql_query、mysql_fetch_assoc等的函数,虽然PHP手册上说:
假如你在利用MySQL v4.1.3或更新版本,激烈保举利用您利用mysqli扩大。
mysqli(MySQL的增强版扩大)有以下几个长处:
可选的面向对象接口
prepared表达式,这有益于禁止SQL注入进击,还能进步功能
撑持更多的表达式和事务处置
别的,假如你想撑持多种数据库体系,你还可以思索PDO。
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';