|
http://blog.csdn.NET/Haohappy2004
SQL注入攻擊是黑客攻擊網(wǎng)站最常用的手段。如果你的站點(diǎn)沒(méi)有使用嚴(yán)格的用戶輸入檢驗(yàn),那么非常容易遭到SQL注入攻擊。SQL注入攻擊通常通過(guò)給站點(diǎn)數(shù)據(jù)庫(kù)提交不良的數(shù)據(jù)或查詢語(yǔ)句來(lái)實(shí)現(xiàn),很可能使數(shù)據(jù)庫(kù)中的紀(jì)錄遭到暴露,更改或被刪除。下面來(lái)談?wù)凷QL注入攻擊是如何實(shí)現(xiàn)的,又如何防范。
看這個(gè)例子:
// supposed input
$name = “ilia'; DELETE FROM users;”;
mysql_query(“SELECT * FROM users WHERE name='{$name}'”);
很明顯最后數(shù)據(jù)庫(kù)執(zhí)行的命令是:
SELECT * FROM users WHERE name=ilia; DELETE FROM users
這就給數(shù)據(jù)庫(kù)帶來(lái)了災(zāi)難性的后果--所有記錄都被刪除了。
不過(guò)如果你使用的數(shù)據(jù)庫(kù)是MySQL,那么還好,mysql_query()函數(shù)不允許直接執(zhí)行這樣的操作(不能單行進(jìn)行多個(gè)語(yǔ)句操作),所以你可以放心。如果你使用的數(shù)據(jù)庫(kù)是SQLite或者PostgreSQL,支持這樣的語(yǔ)句,那么就將面臨滅頂之災(zāi)了。
php技術(shù):PHP與SQL注入攻擊[一],轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。