如何建立使用運算式 Web、 動態的伺服器網頁和 Access 資料庫受密碼的網頁

文章翻譯 文章翻譯
文章編號: 928706 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將逐步告訴您,如何建立簡單的 Web 網頁解決方案,提供密碼保護,藉由使用 Microsoft 運算式 Web、 動態伺服器網頁 (ASP) 和一個 Microsoft Access 資料庫。
  • 本文中範例程式碼不被為了取代運算式 Web 內建的安全性功能。範例是設計用來提供簡單的安全性機制只針對的瀏覽至您的網站的使用者。因此,運算式 Web 安全性並不整合的使用者名稱及新增到 Access 資料庫的密碼。
  • 使用者名稱和在輸入的密碼會以純文字在網際網路上傳輸。為了增加安全性,建議使用可以使用安全通訊端層 (SSL) 加密的網頁伺服器。如需詳細資訊,請聯絡您的網站系統管理員或網際網路服務提供者 (ISP)

簡介

本文將告訴您,如何建立使用運算式 Web、 ASP 和 Access 資料庫受密碼的 Web 網頁。

其他相關資訊

在運算式網頁中使用 ASP 功能

您在運算式網頁中使用 ASP 功能前您必須存取 Web 伺服器或支援 ASP 磁碟基礎 Web。

在運算式 Web 中建立新的網站

附註範例資訊假設名稱網站登入,且該登入網站建立為您的網站根目錄下的子 Web。如果您使用登入,以外的其他名稱或替代位置中建立的 Web 站台,您必須適當地修改整個本文步驟。

如果要在運算式的網站裡建立新的 Web 站台,請依照下列步驟執行:
  1. 啟動運算式 Web。
  2. 在 [檔案] 功能表上按一下 New,然後按一下 [Web 站台。
  3. 在 [新增] 對話方塊按一下 [在 [網站] 索引標籤中的 [空白網站]。
  4. 在 [指定新網站的位置] 方塊中,輸入、 您想要以下列格式儲存新的 Web 站台的位置:

    http:// 伺服器名稱 / 登入
  5. 按一下 [確定]
在運算式 Web 中開啟新空白 Web 站台,名為登入。

建立資料庫

您可以建立資料庫來儲存使用者名稱和密碼,藉由使用資料庫程式 (如 Microsoft Office Access 2003。

附註如果使用 Access 2003 以外的資料庫程式建立的資料庫隨之修改這些步驟。

若要建立資料庫,請依照下列步驟執行:
  1. 啟動 Access 2003。
  2. 按一下 [檔案] 功能表 新增]
  3. 在 [工作] 窗格中按一下 [空白資料庫]。
  4. 鍵入 logon.mdb 檔案] 名稱,然後按一下 [建立]。
  5. 在 [物件] 窗格中按一下 [表格,然後按一下 [新增]
  6. 按一下 [設計檢視],然後再按一下 [確定]
  7. 在 [欄位名稱] 欄的第一列中,鍵入 UID
  8. 在對應的 資料類型 欄位按一下 [文字,],然後再按一下 [[] 工具列上的 [主索引鍵] 按鈕。

    附註為索引鍵符號會出現 [主索引鍵] 按鈕。
  9. 在 [欄位名稱] 欄的第二列,輸入 PWD,然後再按一下 [第二列的 資料類型] 欄中的 文字
  10. 在 [檔案] 功能表上按一下 [儲存]。
  11. 資料表名稱] 方塊鍵入 tblUsers,再按 [確定]
  12. 按一下 [檢視] 功能表 資料工作表檢視
  13. 在 [UID] 欄中,鍵入 testuser
    在 [PWD] 欄中,鍵入 密碼
  14. 在 [檔案] 功能表上按一下 [關閉],] 然後結束 Access 2003。
附註基於安全性考量密碼是限於混合大寫字母、 小寫字母及數字。

匯入資料庫

將運算式 Web 儲存區的使用者名稱和密碼] 匯入所建立的資料庫。要這麼做,請您執行下列步驟:
  1. 運算式 Web 中開啟您的登入的網站,按一下 [檔案] 功能表上的 [匯入,然後再按一下 [檔案]。
  2. 按一下 [新增檔案],找出],然後按一下您建立 logon.mdb 檔案然後再按一下 [開啟舊檔]。
  3. 按一下 [修改],並在 您 Web 中的檔案位置] 文字方塊中輸入 _private/logon.mdb 然後按一下 [確定]]。

    附註沒有底線字元 (_) 「 私人 」 在路徑中檔案的前面。
  4. 按一下 [匯入資料庫檔案的 [確定]
  5. 如果系統提示建立資料庫連線為這個匯入的檔案,按一下 []。

建立 ASP 網頁

您必須建立數個檔案來使用這個範例。先,建立首頁,您的網站、 「 非安全性 」 的網頁和保護的測試登入 Web 網頁的網頁,並在登入包含檔案。

Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能。不過,不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。

建立首頁

此頁面可做為您的網站預設的網頁。其中包括非安全性的網頁,並保護您所建立的網頁的連結。如果要建立首頁,請依照下列步驟執行:
  1. 運算式 Web 中按一下 [檔案] 功能表上的 [新增],然後按一下 [頁面]。
  2. 在 [新增] 對話方塊按一下 [頁面] 索引標籤中的 [HTML],再按 [確定]
  3. 在 [文件視窗的頁尾區域,按一下 [程式碼 來顯示程式碼檢視]。
  4. 選取,然後在 Web 網頁中移除所有 HTML 程式碼。
  5. 輸入或貼上下列的 HTML 程式碼中 Web page.
    <% @language="vbscript" %>
    <html>
    <head><title>Home Page</title></head>
    <body>
    <h3>Home Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <ul>
     
    <li><a href="passwordprotect.asp">Password-Protected Page</a></li>
    <li><a href="nonsecure.asp">Nonsecure Page</a></li>
    
    </ul>
    </body>
    </html>
  6. 將頁面儲存為 default.asp 登入網站的根資料夾中。
  7. 在 [檔案] 功能表上按一下 [關閉] 關閉 default.asp Web 網頁]。

建立非安全性網頁

建立一個每個人都可以檢視的一般 ASP 網頁。如果要建立非安全性的網頁,請依照下列步驟執行:
  1. 運算式 Web 中按一下 [檔案] 功能表上的 [新增],然後按一下 [頁面]。
  2. 在 [新增] 對話方塊按一下 [頁面] 索引標籤中的 [HTML],再按 [確定]
  3. 在 [文件視窗的頁尾區域,按一下 [程式碼 來顯示程式碼檢視]。
  4. 選取,然後在 Web 網頁中移除所有 HTML 程式碼。
  5. 輸入或貼上下列的 HTML 程式碼中 Web page.
    <% @language="vbscript" %>
    <html>
    <head><title>Nonsecure Page</title></head>
    <body>
    <h3>Nonsecure Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a></p>
    </body>
    </html>
  6. 將頁面儲存為 nonsecure.asp 登入網站的根資料夾中。
  7. 在 [檔案] 功能表上按一下 [關閉] 關閉 nonsecure.asp Web 網頁]。

建立受保護的網頁

這個步驟中是先前,建立的非安全性網頁一樣,不同之處在於您必須加入下列程式碼,程式碼] 檢視的上方:
<!--#include virtual="/logon/_private/logon.inc"-->
這行程式碼加入 ASP 網頁時該頁面會變成受由您建立 logon.inc 檔案的密碼。如果要建立受到密碼保護的網頁,請依照下列步驟執行:
  1. 運算式 Web 中按一下 [檔案] 功能表上的 [新增],然後按一下 [頁面]。
  2. 在 [新增] 對話方塊按一下 [頁面] 索引標籤中的 [HTML],再按 [確定]
  3. 在 [文件視窗的頁尾區域,按一下 [程式碼 來顯示程式碼檢視]。
  4. 選取,然後在 Web 網頁中移除所有 HTML 程式碼。
  5. 輸入或貼上下列的 HTML 程式碼中 Web page.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <html>
    <head><title>Password-Protected Page</title></head>
    <body>
    <h3>Password-Protected Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a>
    </body>
    </html>
  6. 將頁面儲存為 passwordprotect.asp 登入網站的根資料夾中。
  7. 在 [檔案] 功能表上按一下 [關閉] 關閉 passwordprotect.asp Web 網頁]。

建立登入頁面

建立一個登入頁面類似於一般的 Windows 登入對話方塊。嘗試存取受保護的 Web 網頁的使用者會傳送到此頁面以輸入其使用者名稱和密碼。若要建立登入頁,請依照下列步驟執行:
  1. 運算式 Web 中按一下 [檔案] 功能表上的 [新增],然後按一下 [頁面]。
  2. 在 [新增] 對話方塊按一下 [頁面] 索引標籤中的 [HTML],再按 [確定]
  3. 在 [文件視窗的頁尾區域,按一下 [程式碼 來顯示程式碼檢視]。
  4. 選取,然後在 Web 網頁中移除所有 HTML 程式碼。
  5. Type or paste the following HTML code in the Web page.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <%
      ' Was this page posted to?
      If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then
        ' If so, check the username/password that was entered.
        If ComparePassword(Request("UID"),Request("PWD")) Then
          ' If comparison was good, store the user name...
          Session("UID") = Request("UID")
          ' ...and redirect back to the original page.
          Response.Redirect Session("REFERRER")
        End If
      End If
    %>
    <html>
    <head><title>Logon Page</title>
    <style>
    body  { font-family: arial, helvetica }
    table { background-color: #cccccc; font-size: 9pt; padding: 3px }
    td    { color: #000000; background-color: #cccccc; border-width: 0px }
    th    { color: #ffffff; background-color: #0000cc; border-width: 0px }
    </style>
    </head>
    <body bgcolor="#000000" text="#ffffff">
    <h3 align="center">&#xa0;</h3>
    <div align="center"><center>
    <form action="<%=LOGON_PAGE%>" method="POST">
    <table border="2" cellpadding="2" cellspacing="2">
      <tr>
        <th colspan="4" align="left">Enter User Name and Password</th>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="left">Please type your user name and password.</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Site</td>
        <td align="left"><%=Request.ServerVariables("SERVER_NAME")%> &#xa0;</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">User Name</td>
        <td align="left"><input name="UID" type="text" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Password</td>
        <td align="left"><input name="PWD" type="password" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="center"><input type="submit" value="LOGON"></td>
        <td>&#xa0;</td>
      </tr>
    </table>
    </form>
    </center></div>
    </body>
    </html>
  6. 將頁面儲存為 logon.asp 登入網站的根資料夾中。
  7. 在 [檔案] 功能表上按一下 [關閉] 關閉 logon.asp Web 網頁]。

建立登入要求包含檔案

包含檔案可提供使用者名稱和密碼功能。它可供受保護的 Web 網頁和登入] 網頁。若要建立登入要求包含檔案,請依照下列步驟執行:
  1. 運算式 Web 設計工具] 中按一下 [檔案] 功能表上的 [新增],然後按一下 [頁面]。
  2. 在 [新增] 對話方塊按一下 [頁面] 索引標籤中的 [HTML],再按 [確定]
  3. 在 [文件視窗的頁尾區域,按一下 [程式碼 來顯示程式碼檢視]。
  4. 選取,然後在 Web 網頁中移除所有 HTML 程式碼。
  5. 輸入或貼上下列的 HTML 程式碼中 Web page.
    <%
      ' Do not cache this page.
      Response.CacheControl = "no-cache"
    
      ' Define the name of the users table.
      Const USERS_TABLE  = "tblUsers"
      ' Define the path to the logon page.
      Const LOGON_PAGE   = "/logon/logon.asp"
      ' Define the path to the logon database.
      Const MDB_URL      = "/logon/_private/logon.mdb"
    
      ' Check to see whether you have a current user name.
      If Len(Session("UID")) = 0 Then
        ' Are you currently on the logon page?
        If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then
          ' If not, set a session variable for the page that made the request...
          Session("REFERRER") = Request.ServerVariables("URL")
          ' ...and redirect to the logon page.
          Response.Redirect LOGON_PAGE
        End If
      End If
    
      ' This function checks for a username/password combination.
      Function ComparePassword(UID,PWD)
        ' Define your variables.
        Dim strSQL, objCN, objRS
        ' Set up your SQL string.
        strSQL = "SELECT * FROM " & USERS_TABLE & _
          " WHERE (UID='" & ParseText(UID) & _
          "' AND PWD='" & ParseText(PWD) & "');"
        ' Create a database connection object.
        Set objCN = Server.CreateObject("ADODB.Connection")
        ' Open the database connection object.
        objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & _
          Server.MapPath(MDB_URL) & "; uid=admin; pwd="
        ' Run the database query.
        Set objRS = objCN.Execute(strSQL)
        ' Set the status to true/false for the database lookup.
        ComparePassword = Not(objRS.EOF)
        ' Close your database objects.
        Set objRS = Nothing
        Set objCN = Nothing
      End Function
    
      ' This function restricts text to alpha-numeric data only.
      Function ParseText(TXT)
        Dim intPos, strText, intText
        For intPos = 1 TO Len(TXT)
          intText = Asc(Mid(TXT,intPos,1))
          If (intText > 47 And intText < 58) Or _
             (intText > 64 And intText < 91) Or _
             (intText > 96 And intText < 123) Then
              strText = strText & Mid(TXT,intPos,1)
          End if
        Next
        ParseText = strText
      End Function
    %>
  6. 將頁面儲存為 logon.inc 您登入的網站] 的 [_private] 資料夾中。
  7. 在 [檔案] 功能表上按一下 [關閉] 關閉 logon.inc Web 網頁]。

測試登入網站

要這麼做,請您執行下列步驟:
  1. 運算式 Web 中以滑鼠右鍵按一下 資料夾清單] 窗格中的 Default.asp,然後按一下 [在瀏覽器中的預覽]

    網頁瀏覽器載入範例首頁,並顯示您並未登入。
  2. 按一下 非安全性網頁 連結。

    網頁載入並顯示您並未登入。按一下 上一步],以預設] 連結回到預設網頁。
  3. 按一下 [密碼保護網頁] 連結。

    logon.asp 網頁載入代替受保護的頁。
  4. 使用者名稱] 方塊中鍵入 testuser],並在 [密碼] 方塊中輸入 密碼 然後按一下 [登入

    保護的頁面會出現,並顯示您登入為 testuser。按一下 上一步],以預設] 連結回到預設網頁。首頁載入,並顯示您正在登入為 testuser
  5. 按一下 非安全性網頁 連結。

    網頁載入並顯示您所登入為 testuser

自訂登入網站

您可以下列方式自訂登入範例網站:
  • 新增使用者名稱和密碼:
    您可以在運算式 Web 中開啟資料庫,並再新增使用者至 tblUsers 資料表。
  • 建立密碼保護其他網頁:
    若要建立受密碼在您的網站上的另一個 Web 網頁,您必須將檔案儲存使用.asp 檔案副檔名為,例如 Mypage.asp,然後將下列兩行加入至程式碼] 檢視的最上方:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    第一行指定您使用 Microsoft Visual Basic 指令碼版 (VBScript) 進行指令碼語言。第二行包括使用者名稱和密碼功能,從登入包含您稍早建立的檔案。

?考

如更多有關如何建立使用 FrontPage 2003、 動態的伺服器網頁和 Access 資料庫受密碼的網頁,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
825498如何使用 FrontPage 2003、 動態的伺服器網頁和 Access 資料庫中建立密碼保護的網頁

如更多有關如何協助保護 HTTP 通訊用戶端和伺服器之間的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
299525如何藉由使用 IIS 5.0 和憑證伺服器 2.0 設定 SSL
299875如何在 IIS 中實作 SSL

如更多有關如何將動態伺服器網頁 (ASP) 整合與資料庫的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
299987如何使用來實作 ASP 安全性的資料庫和 ASP 工作階段
300382如何從 ASP 網頁建立資料庫連接
318287您需要在 FrontPage 2002 中使用動態伺服器網頁 (ASP)

屬性

文章編號: 928706 - 上次校閱: 2007年4月17日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft Expression Web
關鍵字:?
kbmt kbexpertiseinter kbhowto KB928706 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:928706
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com