PHP與SQL注入攻擊[一]
更新時間:2007年04月17日 00:00:00 作者:
Haohappy
http://blog.csdn.net/Haohappy2004
SQL注入攻擊是黑客攻擊網(wǎng)站最常用的手段。如果你的站點(diǎn)沒有使用嚴(yán)格的用戶輸入檢驗(yàn),那么非常容易遭到SQL注入攻擊。SQL注入攻擊通常通過給站點(diǎn)數(shù)據(jù)庫提交不良的數(shù)據(jù)或查詢語句來實(shí)現(xiàn),很可能使數(shù)據(jù)庫中的紀(jì)錄遭到暴露,更改或被刪除。下面來談?wù)凷QL注入攻擊是如何實(shí)現(xiàn)的,又如何防范。
看這個例子:
// supposed input
$name = “ilia'; DELETE FROM users;”;
mysql_query(“SELECT * FROM users WHERE name='{$name}'”);
很明顯最后數(shù)據(jù)庫執(zhí)行的命令是:
SELECT * FROM users WHERE name=ilia; DELETE FROM users
這就給數(shù)據(jù)庫帶來了災(zāi)難性的后果--所有記錄都被刪除了。
不過如果你使用的數(shù)據(jù)庫是MySQL,那么還好,mysql_query()函數(shù)不允許直接執(zhí)行這樣的操作(不能單行進(jìn)行多個語句操作),所以你可以放心。如果你使用的數(shù)據(jù)庫是SQLite或者PostgreSQL,支持這樣的語句,那么就將面臨滅頂之災(zāi)了。
http://blog.csdn.net/Haohappy2004
SQL注入攻擊是黑客攻擊網(wǎng)站最常用的手段。如果你的站點(diǎn)沒有使用嚴(yán)格的用戶輸入檢驗(yàn),那么非常容易遭到SQL注入攻擊。SQL注入攻擊通常通過給站點(diǎn)數(shù)據(jù)庫提交不良的數(shù)據(jù)或查詢語句來實(shí)現(xiàn),很可能使數(shù)據(jù)庫中的紀(jì)錄遭到暴露,更改或被刪除。下面來談?wù)凷QL注入攻擊是如何實(shí)現(xiàn)的,又如何防范。
看這個例子:
// supposed input
$name = “ilia'; DELETE FROM users;”;
mysql_query(“SELECT * FROM users WHERE name='{$name}'”);
很明顯最后數(shù)據(jù)庫執(zhí)行的命令是:
SELECT * FROM users WHERE name=ilia; DELETE FROM users
這就給數(shù)據(jù)庫帶來了災(zāi)難性的后果--所有記錄都被刪除了。
不過如果你使用的數(shù)據(jù)庫是MySQL,那么還好,mysql_query()函數(shù)不允許直接執(zhí)行這樣的操作(不能單行進(jìn)行多個語句操作),所以你可以放心。如果你使用的數(shù)據(jù)庫是SQLite或者PostgreSQL,支持這樣的語句,那么就將面臨滅頂之災(zāi)了。
您可能感興趣的文章:
相關(guān)文章
如何使用Linux的Crontab定時執(zhí)行PHP腳本的方法
我們的PHP程序有時候需要定時執(zhí)行,我們可以使用ignore_user_abort函數(shù)或是在頁面放置js讓用戶幫我們實(shí)現(xiàn)。但這兩種方法都不太可靠,不穩(wěn)定。我們可以借助Linux的Crontab工具來穩(wěn)定可靠地觸發(fā)PHP執(zhí)行任務(wù)2011-12-12
shopex中集成的站長統(tǒng)計(jì)功能的代碼簡單分析
shopex中集成了一鍵開啟站長統(tǒng)計(jì)功能,而無需去CNZZ注冊,在phpcms,phpwind等中也都有類似的功能,下面是對這個功能的簡單分析,以后也可以偷偷用在自己的網(wǎng)站中,呵呵。2011-08-08
PHP中Header使用的HTTP協(xié)議及常用方法小結(jié)
這篇文章主要介紹了PHP中Header使用的HTTP協(xié)議及常用方法,包含了各種錯誤編碼類型及其含義,需要的朋友可以參考下2014-11-11

