我的ASP通用連接頁面(conn.asp)

引言:
        通常ASP技術架構的網站,至少要做三件事:一、建立數據庫連接;二、過濾地址中非法字串;三、錯誤信息顯示。以下代碼就是完成這三件事的實例:
我的ASP通用連接頁面(conn.asp)(zz)<!-- metadata type ="typelib" file="C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll"-->
我的ASP通用連接頁面(conn.asp)(zz)
<%
我的ASP通用連接頁面(conn.asp)(zz)
dim conn,connstr
我的ASP通用連接頁面(conn.asp)(zz)
我的ASP通用連接頁面(conn.asp)(zz)checkquerystring                    
'調用“檢測傳入字符合法性”過程
我的ASP通用連接頁面(conn.asp)(zz)

我的ASP通用連接頁面(conn.asp)(zz)
'========================    '打開連接    =========================
我的ASP通用連接頁面(conn.asp)(zz)
sub openconn
我的ASP通用連接頁面(conn.asp)(zz)    
On Error Resume Next                            
我的ASP通用連接頁面(conn.asp)(zz)    
dim db
我的ASP通用連接頁面(conn.asp)(zz)
我的ASP通用連接頁面(conn.asp)(zz)    
Set conn = Server.CreateObject("ADODB.Connection")
我的ASP通用連接頁面(conn.asp)(zz)    connstr
= "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=" +session("Catalog")+ ";Data Source=(local);pwd="    
        'Session("catalog")變量用於構建多個後台數據庫連接
我的ASP通用連接頁面(conn.asp)(zz)

我的ASP通用連接頁面(conn.asp)(zz)    
if conn.state=adStateClosed then
我的ASP通用連接頁面(conn.asp)(zz)        conn.open connstr
我的ASP通用連接頁面(conn.asp)(zz)        
if Err then 
我的ASP通用連接頁面(conn.asp)(zz)            
call ErrorMsg(7
我的ASP通用連接頁面(conn.asp)(zz)            response.
end 
我的ASP通用連接頁面(conn.asp)(zz)        
end if
我的ASP通用連接頁面(conn.asp)(zz)    
end if
我的ASP通用連接頁面(conn.asp)(zz)
end sub
我的ASP通用連接頁面(conn.asp)(zz)
'========================    end sub    ==========================
我的ASP通用連接頁面(conn.asp)(zz)

我的ASP通用連接頁面(conn.asp)(zz)
我的ASP通用連接頁面(conn.asp)(zz)
'========================    '關閉連接    =========================
我的ASP通用連接頁面(conn.asp)(zz)
sub closeconn                
我的ASP通用連接頁面(conn.asp)(zz)    
if conn.state=adStateOpen then
我的ASP通用連接頁面(conn.asp)(zz)        conn.close
我的ASP通用連接頁面(conn.asp)(zz)    
end if
我的ASP通用連接頁面(conn.asp)(zz)    
set conn=nothing
我的ASP通用連接頁面(conn.asp)(zz)
end sub
我的ASP通用連接頁面(conn.asp)(zz)
'========================    end sub    ==========================
我的ASP通用連接頁面(conn.asp)(zz)

我的ASP通用連接頁面(conn.asp)(zz)
我的ASP通用連接頁面(conn.asp)(zz)
'========================    檢測傳入字符合法性    =================我的ASP通用連接頁面(conn.asp)(zz)sub checkquerystring
我的ASP通用連接頁面(conn.asp)(zz)    
dim qs,errc,iii
我的ASP通用連接頁面(conn.asp)(zz)    qs
=request.servervariables("query_string")
我的ASP通用連接頁面(conn.asp)(zz)    
dim nothis(18
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
0)="net user" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
1)="xp_cmdshell" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
2)="/add" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
3)="exec%20master.dbo.xp_cmdshell" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
4)="net localgroup administrators" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
5)="select" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
6)="count" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
7)="asc" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
8)="char" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
9)="mid" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
10)="'" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
11)=":" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
12)="""" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
13)="insert" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
14)="delete" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
15)="drop" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
16)="truncate" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
17)="from" 
我的ASP通用連接頁面(conn.asp)(zz)    nothis(
18)="drop" 
我的ASP通用連接頁面(conn.asp)(zz)    errc
=false 
我的ASP通用連接頁面(conn.asp)(zz)    
for iii= 0 to ubound(nothis) 
我的ASP通用連接頁面(conn.asp)(zz)        
if instr(qs,nothis(iii))<>0 then 
我的ASP通用連接頁面(conn.asp)(zz)            errc
=true 
我的ASP通用連接頁面(conn.asp)(zz)        
end if 
我的ASP通用連接頁面(conn.asp)(zz)    
next 
我的ASP通用連接頁面(conn.asp)(zz)    
if errc then 
我的ASP通用連接頁面(conn.asp)(zz)        ErrorMsg(
8)  
我的ASP通用連接頁面(conn.asp)(zz)    
end if 
我的ASP通用連接頁面(conn.asp)(zz)
end sub
我的ASP通用連接頁面(conn.asp)(zz)
'======================    end sub    ============================
我的ASP通用連接頁面(conn.asp)(zz)

我的ASP通用連接頁面(conn.asp)(zz)
我的ASP通用連接頁面(conn.asp)(zz)
'=====================     轉向錯誤信息頁面    =====================
我的ASP通用連接頁面(conn.asp)(zz)
sub ErrorMsg(id)
我的ASP通用連接頁面(conn.asp)(zz)    Response.Redirect(
"../error.asp?Errorid=" &id)
我的ASP通用連接頁面(conn.asp)(zz)    Response.
End
我的ASP通用連接頁面(conn.asp)(zz)
end sub
我的ASP通用連接頁面(conn.asp)(zz)
'=====================    end sub    =============================
我的ASP通用連接頁面(conn.asp)(zz)
%>

相关文章: