這個函式還是比較全面的,先判斷字串,再過濾特殊字元
不過我認為防禦最好的辦法就是用數字傳入再轉換型別
function
sqlcheck(str)
ifinstr
(lcase
(str),
"select ")
>0or
instr
(lcase
(str),
"insert ")
>0or
instr
(lcase
(str),
"delete ")
>0or
instr
(lcase
(str),
"delete from ")
>0or
instr
(lcase
(str),
"count(")
>0or
instr
(lcase
(str),
"drop table")
>0or
instr
(lcase
(str),
"update ")
>0or
instr
(lcase
(str),
"truncate ")
>0or
instr
(lcase
(str),
"asc(")
>0or
instr
(lcase
(str),
"mid(")
>0or
instr
(lcase
(str),
"char(")
>0or
instr
(lcase
(str),
"xp_cmdshell")
>0or
instr
(lcase
(str),
"exec master")
>0or
instr
(lcase
(str),
"net localgroup administrators")
>0or
instr
(lcase
(str),
"and ")
>0or
instr
(lcase
(str),
"net user")
>0or
instr
(lcase
(str),
"or ")
>
0then
call
qcdn.err_list(
"請不要在引數中包含非法字元嘗試注入!",
1)response.end
exit
function
endif
str=replace
(str,"_
","")
'過濾sql注入_
str=
replace
(str,"*
","")
'過濾sql注入*
str=
replace
(str,""
,"")
'過濾sql注入空格
str=
replace
(str,
chr(
34),
"")
'過濾sql注入"
str=
replace
(str,
chr(
39),"")
'過濾sql注入'
str=
replace
(str,
chr(
91),"")
'過濾sql注入[
str=
replace
(str,
chr(
93),"")
'過濾sql注入]
str=
replace
(str,
chr(
37),"")
'過濾sql注入%
str=
replace
(str,
chr(
58),"")
'過濾sql注入:
str=
replace
(str,
chr(
59),"")
'過濾sql注入;
str=
replace
(str,
chr(
43),"")
'過濾sql注入+
str=
replace
(str,""
,"")'
過濾sql注入}
sqlcheck
=str
'返回經過上面字元替換後的str
end function
乙個可以通用的防注入指令碼程式
for each item in request.form stritem lcase server.htmlencode request.form item if instr stritem,select 1 or instr stritem,insert 1 or instr stritem,u...
乙個防止SQL注入的函式
在網上搜尋了半天,搜出來的 不是檢測到sql關鍵字提示使用者改就是直接替換sql關鍵字,而且有很多 還沒有注意到關鍵字大小寫問題。所以 多少有寫缺陷和不完美。後來自己想到將所有 編碼成utf8或其他編碼,現實的時候再解碼,但是這樣的處理量十分大。可用程度不高。後來忽然想到網頁顯示的時候常常將空格用 ...
看到乙個有趣的東東。
這段時間忙著搬新公司,一直也沒上來寫東西,今天在面試簡歷的看到乙個非常有趣的自我介紹,原文如下 自我評價 本人安于工作,誠實肯幹,勇於挑戰和接受新知識 現大專在讀 相信我的努力定能為你帶來一分意外的收穫。相信他的能力吧 擅長騙取弱小可欺的女孩的身體及錢財,弱女子到手後要求她買膝上型電腦,包括在兩小孩...