PHP與SQL注入攻擊[一]
更新時間:2007年04月17日 00:00:00 作者:
Haohappy
http://blog.csdn.net/Haohappy2004
SQL注入攻擊是黑客攻擊網(wǎng)站最常用的手段。如果你的站點沒有使用嚴格的用戶輸入檢驗,那么非常容易遭到SQL注入攻擊。SQL注入攻擊通常通過給站點數(shù)據(jù)庫提交不良的數(shù)據(jù)或查詢語句來實現(xiàn),很可能使數(shù)據(jù)庫中的紀錄遭到暴露,更改或被刪除。下面來談?wù)凷QL注入攻擊是如何實現(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í)行這樣的操作(不能單行進行多個語句操作),所以你可以放心。如果你使用的數(shù)據(jù)庫是SQLite或者PostgreSQL,支持這樣的語句,那么就將面臨滅頂之災(zāi)了。
http://blog.csdn.net/Haohappy2004
SQL注入攻擊是黑客攻擊網(wǎng)站最常用的手段。如果你的站點沒有使用嚴格的用戶輸入檢驗,那么非常容易遭到SQL注入攻擊。SQL注入攻擊通常通過給站點數(shù)據(jù)庫提交不良的數(shù)據(jù)或查詢語句來實現(xiàn),很可能使數(shù)據(jù)庫中的紀錄遭到暴露,更改或被刪除。下面來談?wù)凷QL注入攻擊是如何實現(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í)行這樣的操作(不能單行進行多個語句操作),所以你可以放心。如果你使用的數(shù)據(jù)庫是SQLite或者PostgreSQL,支持這樣的語句,那么就將面臨滅頂之災(zāi)了。
相關(guān)文章
table標簽的結(jié)構(gòu)與合并單元格的實現(xiàn)方法
以下是對table標簽的結(jié)構(gòu)與合并單元格的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友可以過來參考下2013-07-07使用PHP獲取當前url路徑的函數(shù)以及服務(wù)器變量
本篇文章是對使用PHP獲取當前url路徑的函數(shù)以及服務(wù)器變量的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法詳解
最近在開發(fā)微信公眾號功能的時候發(fā)現(xiàn)在PHP 7.1中Mcrypt已經(jīng)被棄用了,無奈只能找對應(yīng)的解決方法來替代,所以這篇文章主要給大家介紹了關(guān)于在PHP 7.1中利用OpenSSL代替Mcrypt加解密的相關(guān)資料,需要的朋友可以參考下。2017-11-11