原創 防止SQL注入的函式。

2021-03-31 08:57:00 字數 1487 閱讀 8432

'函式名: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。後台過濾 為輸入的資訊提供反饋資訊,只要...