数据库防暴

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

有时,我们建立的数据库即便连接文件前面加#并将扩展名换成ASP,是防止有些人下载数据,不过这样也逃不脱黑客的攻击。下面我就介绍一种防暴SQL语句

<%

option explicit

'SQL注入式攻击防范

dim squery,sURL,allquery

squery=lcase(Request.ServerVariables("QUERY_STRING"))

sURL=lcase(Request.ServerVariables("HTTP_HOST"))

allquery=squery+sURL

if InStr(allquery,"%20")<>0 or InStr(allquery,"%27")<>0 or InStr(allquery,"'")<>0 or InStr(allquery,"%a1a1")<>0 or InStr(allquery,"%24")<>0 or InStr(allquery,"$")<>0 or InStr(allquery,"%3b")<>0 or InStr(allquery,";")<>0 or InStr(allquery,":")<>0 or InStr(allquery,"%%")<>0 or InStr(allquery,"%3c")<>0 or InStr(allquery,"<")<>0 or InStr(allquery,">")<>0 or InStr(allquery,"--")<>0 or InStr(allquery,"sp_")<>0 or InStr(allquery,"xp_")<>0 or InStr(allquery,"exec")<>0 or InStr(allquery,"\")<>0 or InStr(allquery,"delete")<>0 or InStr(allquery,"dir")<>0 or InStr(allquery,"exe")<>0 or InStr(allquery,"select")<>0 or InStr(allquery,"Update")<>0 or InStr(allquery,"cmd")<>0 or InStr(allquery,"*")<>0 or InStr(allquery,"^")<>0 or InStr(allquery,"(")<>0 or InStr(allquery,")")<>0 or InStr(allquery,"+")<>0 or InStr(allquery,"copy")<>0 or InStr(allquery,"format")<>0 or not(isnumeric(request("id"))) then%>

<script Language="JavaScript">window.top.location.href="Error.asp?allquery=<%=allquery%>"</script>

<%Response.End

end if

dim conn,connstr,startime,db,rs

startime=timer()

On Error Resume Next '防止暴库处理

db="to/#zol.mdb" '数据库路径

Set conn = Server.CreateObject("ADODB.Connection")

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")

conn.Open connstr

If Err Then

err.Clear

Set Conn = Nothing

Response.Write "数据库连接出错,请检查连接字串。防止暴库处理。"

Response.End

End If

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航