如何修復(fù)SQL注入漏洞
如何修復(fù)SQL注入漏洞
以下是OMG小編為大家收集整理的文章,希望對大家有所幫助。
SQL注入是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務(wù)器執(zhí)行惡意的SQL命令。其實就是就是提交精心構(gòu)造的數(shù)據(jù)庫語句,使其反饋一些有用的數(shù)據(jù)。說白了就是去欺騙數(shù)據(jù)庫,假如只有web服務(wù)器的話,是沒法進行SQL注入的。
網(wǎng)上常用的注入手法有兩種,一種是猜測,讓數(shù)據(jù)庫暴出用戶名、密碼等信息;另一種直接繞過認證,取得權(quán)限。相對應(yīng),要想修復(fù)此類漏洞,就必須禁止特殊數(shù)據(jù)的提交或?qū)⑻厥馓峤坏臄?shù)據(jù)修改。
下面是不同腳本語言下的防注入過濾代碼,其實思想是一致的。
1、 PHP防注入過濾代碼
php 代碼復(fù)制內(nèi)容到剪貼板
/*************************
說明: 判斷傳遞的變量中是否含有非法字符 如$_POST、$_GET
功能: 防注入
使用方法: 將下列代碼保存為ak,php,調(diào)用方式 在數(shù)據(jù)提交頁加上include("ak.php");
**************************/
function dowith_sql($str)
//實現(xiàn)將特征碼兩邊加.
{
$refuse_str="exec|and|or|select|update|from|where|order|by|*|delete||insert|into|values|create|table|
database|set|char|asc|cast|declare|