一般站点安全首先要考虑到的是SQL注入的防范,下面就是一些通用的 防sql注入代码! J?m/
u6
"i#g [x
试试这两种方法: GIEQD$vy
第一种: rrRv 7J&Q
squery=lcase(Request.ServerVariables("QUERY_STRING")) ^uUA41o`eJ
sURL=lcase(Request.ServerVariables("HTTP_HOST")) B2]52Fg-"
~$K{E[^<
SQL_injdata =":|;|>|<|--|sp_|xp_|\|dir|cmd|^|(|)|+|$|'|copy|format|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" t{iRCj
fT Pm
Fb
SQL_inj = split(SQL_Injdata,"|") /+%aSPQ
>v@3]a
i
For SQL_Data=0 To Ubound(SQL_inj) *w*K&$g
if instr(squery&sURL,Sql_Inj(Sql_DATA))>0 Then P
jBAf'
Response.Write "SQL通用防注入系统" jnOnV1I"
Response.end Yl&[_
l
end if q:)Pf
P+
next Pv2uZH(
>qNpY(Q
l
Nkj$6(N=zJ
U"8Hw@
第二种: H ;=^
W
SQL_injdata =":|;|>|<|--|sp_|xp_|\|dir|cmd|^|(|)|+|$|'|copy|format|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" MF'Z?M
l VD{Y`)
SQL_inj = split(SQL_Injdata,"|") h.#:7d(g
P=,\wM6T|
If Request.QueryString<>"" Then `mteU"{bx
For Each SQL_Get In Request.QueryString 0`7yPq*
For SQL_Data=0 To Ubound(SQL_inj) HoAg8siQ
if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then ck0%H#BYY
Response.Write "SQL通用防注入系统" k;cX,*DIn
Response.end M| Gl&
end if I ]o|mjvs
next ~L<"]V+B
Next .qohHJ&
End If SS%Bde&<{
| 8mWR=9fs
If Request.Form<>"" Then .^9khKJ;
For Each Sql_Post In Request.Form 2_ u+&7
For SQL_Data=0 To Ubound(SQL_inj) "1Hn?4nz5
if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then WcSvw
Response.Write "SQL通用防注入系统" 5<*ES[S
Response.end }(u:K}8
end if :n13v@q
next &PV%=/-J
next #$S~QS.
g
end if ${z#{c1
^"|q~2
第三种 ;yNY/
<% S>T ;`,
'--------定义部份------------------ OW};i|
Dim Str_Post,Str_Get,Str_In,Str_Inf,Str_Xh,Str_db,Str_dbstr 8*/;W&7y
'自定义需要过滤的字串,用 "■"分离 };rp2
5i
Str_In = "'■;■and■exec■insert■select■delete■update■count■*■%■chr■mid■master■truncate■char■declare" Axb=1_--
'----------------------------------
b`+
yNf
%> C)i8XX
)=}qAVO8
<% &_