Haohappy
http://blog.csdn.net/Haohappy2004
SQL注入攻擊是駭客攻擊網站最常用的手段。如果你的網站沒有使用嚴格的使用者輸入檢驗,那麼非常容易遭到SQL注入攻擊。 SQL注入攻擊通常透過向網站資料庫提交不良的資料或查詢語句來實現,很可能會使資料庫中的記錄遭到暴露,更改或被刪除。以下來談談SQL注入攻擊是如何實現的,又如何防範。
看這個例子:
// supposed input
$name = “ilia'; DELETE FROM users;”;
mysql_query(“SELECT * FROM users WHERE name='{$name}'”);
很明顯最後資料庫執行的指令是:
SELECT * FROM users WHERE name=ilia; DELETE FROM users
這就為資料庫帶來了災難性的後果--所有記錄都被刪除了。
不過如果你使用的資料庫是MySQL,那麼還好,mysql_query()函數不允許直接執行這樣的操作(不能單行進行多個語句操作),所以你可以放心。如果你使用的資料庫是SQLite或PostgreSQL,支援這樣的語句,那麼就將面臨滅頂之災了。