'函式名:s_request()
'輔助函式:r_reader()
'作用:過濾非法字元,防止sql注入。
'引數:s_str:被傳入的變數的名,型別:字串
'返回值:過濾後的值。
const c_sqlstr="',count,user,user,count,1=1,and,2=2" '需要過濾的字串序列,每個字串之間用「,」分隔
dim reader
function r_reader(r_str,f_str)
dim i
if r_str="" or f_str="" then
exit function
end if
reader=split(r_str,f_str)
for i=0 to ubound(reader,1)
reader(i)=cstr(trim(reader(i)))
next
r_reader=ubound(reader,1)
end function
function s_request(s_str)
dim temp,i
if s_str="" then
exit function
end if
temp=request(s_str)
for i=0 to r_reader(c_sqlstr,",")
temp=replace(temp,cstr(reader(i)),"")
next
temp=replace(temp,chr(34),"")
s_request=cstr(trim(temp))
erase reader
end function
用法:原來的例如這樣的語句:
a=request("a")
現在寫成:
a=s_request("a")
即可實現非法字串過濾。
當然,你也可以寫成這樣:
function s_request(s_str)
dim temp,i,temp1
if s_str="" then
exit function
end if
temp=cstr(request(s_str))
temp1=temp
for i=0 to r_reader(c_sqlstr,",")
temp=replace(temp,cstr(reader(i)),"")
if temp1<>temp then
response.write ("請不要輸入非法字元!")
response.end
end if
next
temp=replace(temp,chr(34),"")
s_request=cstr(trim(temp))
erase reader
end function
這樣,可以返回乙個錯誤報告。
防止SQL注入
1.什麼是sql注入 所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通過遞交引數構造巧妙的sql語句,從而成功獲取想要的資料。2.sql注入的種類 從具體而言,sql注入可分為五大類,分別是 數字型注入 字元型注入...
防止SQL注入
最近看到很多人的 都被注入js,被iframe之類的。非常多。本人曾接手過乙個比較大的 被人家入侵了,要我收拾殘局。1.首先我會檢查一下伺服器配置,重新配置一次伺服器安全,可以參考 2.其次,用麥咖啡自定義策略,即使 程式有漏洞,別人也很難在檔案上寫入 了。參考自定義策略,有了這個策略,再爛的程式,...
防止Sql注入
防不勝防 可以肯定的說,過濾不是辦法,而且效率很低 過濾的目的主要是提供反饋資訊,必須前後臺都要做 但是,有很多辦法可以繞過 致命的單引號 能做的事情按重要性大致如下 1。資料庫訪問用預定義會話 preparedstatement 從根本上防止sql截斷 2。後台過濾 為輸入的資訊提供反饋資訊,只要...