asp 實現網頁密碼驗證的兩個基本方法

來源:互聯網
上載者:User
 【摘 要】當上網者要瀏覽這個目錄的網頁時,瀏覽器就會顯示“請輸入使用者名稱和密碼”的視窗,要求使用者輸入使用者名稱和密碼,因為IIS驗證的方法是與NT伺服器結合在一起,只要是NT伺服器的使用者,就是IIS的使用者,因此這裡輸入的使用者名稱和密碼是已經在 NT伺服器中建立的使用者及對應的密碼。用這種方法我們可以輕鬆實現對Sample目錄網頁的密碼驗證。

我們在訪問一些網站時,經常會碰到需要輸入“使用者名稱和密碼”的網頁,使用者名稱和密碼的驗證給網站的安全帶來保障,一般網頁的安全設定以目錄為單位,通過設定目錄的屬性可以保證網站的安全,這樣的網頁是如何製作出來的呢。

  下面筆者將介紹在網頁設計中密碼驗證的兩種方法,希望能給網頁設計者有所協助。

  一、使用IIS所提供的工具
  如果設計者是管理員級的使用者,我們可以用一種簡單的方法來實現密碼驗證。假設你安裝的Web伺服器是IIS,我們可以通過IIS所提供的 “Internet服務管理員”進行目錄安全設定。假設我們把/Sample設定成安全目錄,首先啟動“Internet安全服務管理員”,開啟“預設的網站”,我們選取“Home”目錄。接著選取“編輯屬性”,在出現的“Sample屬性”視窗中,選取“目錄安全設定”選項,然後按下“匿名存取及驗證控制”中的編輯按鈕,將“允許匿名”按鈕取消,選取“基本”。接下來當上網者要瀏覽這個目錄的網頁時,瀏覽器就會顯示“請輸入使用者名稱和密碼”的視窗,要求使用者輸入使用者名稱和密碼,因為IIS驗證的方法是與NT伺服器結合在一起,只要是NT伺服器的使用者,就是IIS的使用者,因此這裡輸入的使用者名稱和密碼是已經在 NT伺服器中建立的使用者及對應的密碼。用這種方法我們可以輕鬆實現對Sample目錄網頁的密碼驗證。

  二、使用ASP程式
  利用程式來進行密碼驗證,這種方法較為通用,它對Web伺服器沒有具體要求,它是藉助資料庫及ASP程式進行設計,來實現一種通用網頁加密。

  首先,我們利用Microsoft Access建立“使用者名稱稱及密碼”的資料表,假設將這個表取名為User,資料庫名為Usercheck.mdb,資料表的結構如下:

欄位說明 欄位名稱 資料類型 資料長度
使用者名稱稱 ID 文本 15
密碼 PWD 文本 15

  驗證程式PASS.ASP的原始碼如下:
  <%
  Function Check( ID, Pwd )
   Dim conn, par, rs
   Set conn = Server.CreateObject("ADODB.Connection")
   par = "driver={Microsoft Access Driver (*.mdb)} "
   conn.Open par && ";dbq=" && Server.MapPath("usercheck.mdb ")
   sql = "Select * From users Where ID= && ID && And Pwd = && Pwd &&"
   Set rs = conn.Execute( sql )
   If rs.EOF Then
     Check= False
   Else
     Check= True
   End If
  End Function
  %>
  <%
  If IsEmpty(Session("Passed")) Then Session("Passed") = False
  Head = "請輸入使用者名稱和密碼"
  ID = Request("ID")
  Pwd = Request("Pwd")
  If ID = "" Or Pwd = "" Then
   Head = "請輸入使用者名稱和密碼"
  Else If Not Check( ID, Pwd ) Then
   Head = "使用者名稱稱或密碼有錯"
  Else
   Session("Passed") = True
  End If
  If Not Session("Passed") Then
  %>
  <html>
  <head> <title></title> </head>
  <body BGCOLOR="#FFFFFF">
  <h2 ALIGN="CENTER"><%=Head%></h2>
  <hr WIDTH="100%">
  <form Action="<%=Request.ServerVariables("PATH_INFO")%>" Method="POST">
   <table BORDER="1" CELLSPACING="0">
    <tr>
     <td ALIGN="RIGHT">使用者名稱稱:</td>
     <td><input Type="Text" Name="ID" Size="12" Value="<%=ID%>"></td>
    </tr>
    <tr> <td ALIGN="RIGHT">密碼: </td>
    <td><input Type="Password" Name="Pwd" Size="12" Value="<%=Pwd%>"></td> </tr>
   </table>
   <p><input Type="Submit" Value=" 確定 "> </p> </form>
  <hr WIDTH="100%" align="center">
  </body> </html>
  <%Response.End
  End If %>

  這個驗證合法性的頁面具有通用性,只要在需要加密網頁的最前面加上如下程式:
  <! --#i nclude file="pass.asp"-->
  即可實現對任意網頁進行加密的功能了。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.