首頁  >  文章  >  後端開發  >  终竟什么是sql注入

终竟什么是sql注入

WBOY
WBOY原創
2016-06-13 12:19:221034瀏覽

到底什么是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输入什么都能正常通过。


防注入就是把一些会影响的字符转义,例如 ' 等。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn