Maison > Article > développement back-end > 终竟什么是sql注入
到底什么是sql注入
因为刚学php,但总是看到别人在写php代码时总是写一些提防sql注入的句子,到底啥是sql注入呢?好象一些特殊符号写进数据库中就行了,但我有疑问是,这些特殊符号如\ '等就是写进去了,又能咋样呢?也不会对安全造成威胁
------解决思路----------------------
简单举个例子
例如要检查用户登入输入的用户名和密码是否正确。
$username = 'fdipzone';
$password = '123456';
$sql = "select * from table where username='".$username."' and password='".$password."'";
但如果$password我填入了以下的字符,就能绕过检查了。
$password = "abc' or '1'='1"
查询语句就会变成
select * from table where username='fdipzone' and password='abc' or '1'='1'
这样无论username与password输入什么都能正常通过。
防注入就是把一些会影响的字符转义,例如 ' 等。