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

來源:互聯網
上載者:User
文章目錄
  • 我的ASP通用連接頁面(conn.asp)
我的ASP通用連接頁面(conn.asp)
引言:
        通常ASP技術架構的網站,至少要做三件事:一、建立數據庫連接;二、過濾地址中非法字串;三、錯誤資訊顯示。以下代碼就是完成這三件事的實例:
<!-- metadata type ="typelib" file="C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll"-->

<%

dim conn,connstr


checkquerystring                    '調用“檢測傳入字元合法性”過程



'========================    '打開連接    =========================

sub openconn

    On Error Resume Next                            

    dim db


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

    connstr= "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=" +session("Catalog")+ ";Data Source=(local);pwd="    

        'Session("catalog")變量用於構建多個後台數據庫連接



    if conn.state=adStateClosed then

        conn.open connstr

        if Err then 

            call ErrorMsg(7) 

            response.end 

        end if

    end if

end sub

'========================    end sub    ==========================




'========================    '關閉連接    =========================

sub closeconn                

    if conn.state=adStateOpen then

        conn.close

    end if

    set conn=nothing

end sub

'========================    end sub    ==========================




'========================    檢測傳入字元合法性    =================sub checkquerystring

    dim qs,errc,iii

    qs=request.servervariables("query_string")

    dim nothis(18) 

    nothis(0)="net user" 

    nothis(1)="xp_cmdshell" 

    nothis(2)="/add" 

    nothis(3)="exec%20master.dbo.xp_cmdshell" 

    nothis(4)="net localgroup administrators" 

    nothis(5)="select" 

    nothis(6)="count" 

    nothis(7)="asc" 

    nothis(8)="char" 

    nothis(9)="mid" 

    nothis(10)="'" 

    nothis(11)=":" 

    nothis(12)="""" 

    nothis(13)="insert" 

    nothis(14)="delete" 

    nothis(15)="drop" 

    nothis(16)="truncate" 

    nothis(17)="from" 

    nothis(18)="drop" 

    errc=false 

    for iii= 0 to ubound(nothis) 

        if instr(qs,nothis(iii))<>0 then 

            errc=true 

        end if 

    next 

    if errc then 

        ErrorMsg(8)  

    end if 

end sub

'======================    end sub    ============================




'=====================     轉向錯誤資訊頁面    =====================

sub ErrorMsg(id)

    Response.Redirect("../error.asp?Errorid=" &id)

    Response.End

end sub

'=====================    end sub    =============================

%>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.