本文說明如何使用 Active Server Pages (ASP) 強制特定頁面的安全套接字層 (SSL),而不需變更 MMC。
原始產品版本: Microsoft Active Server Pages
原始 KB 編號: 239875
摘要
對於網站上的特定頁面,需要 SSL 通常是很好的安全性做法。 雖然這可以透過 Microsoft 管理控制台 (MMC) 中的 Internet Services Manager (ISM) 進行設定,但您也可以使用 ASP 強制特定頁面的 SSL,而不需在 MMC 中進行變更。
注意
建議所有用戶升級至在 Windows Server 2008 上執行的 網際網路資訊服務 (IIS) 7.0 版。 IIS 7.0 大幅提升 Web 基礎結構安全性。
必要條件
本文假設有下列條件:
IIS 正在標準埠上執行:
- HTTP = 埠 80
- HTTPS = 埠 443
IIS 已安裝有效的 SSL 憑證。
所使用的網站或虛擬伺服器不會使用 HTTP/1.1 主機標頭進行名稱解析。
使用 ASP 強制 SSL
若要使用 ASP 強制使用 SSL,請遵循下列步驟:
按兩下 [ 開始],按兩下 [執行],輸入 記事本,然後按兩下 [ 確定]。
將下列程式代碼貼到空白的記事本檔中。 在檔案功能表上,按一下另存為,然後將下列程式代碼儲存在網頁伺服器的根目錄中,作為名為ForceSSL.inc的包含檔案:
<% If Request.ServerVariables("SERVER_PORT")=80 Then Dim strSecureURL strSecureURL = "https://" strSecureURL = strSecureURL & Request.ServerVariables("SERVER_NAME") strSecureURL = strSecureURL & Request.ServerVariables("URL") Response.Redirect strSecureURL End If %>
針對需要 SSL 的每個頁面,將下列程式代碼貼到頁面頂端,以參考上一個步驟中的 include 檔案:
<%@Language="VBSCRIPT"%> <!--#include virtual="/ForceSSL.inc"-->
流覽每個頁面時,包含在 include 檔案中的 ASP 程式代碼會偵測埠,以判斷是否使用 HTTP。 如果使用 HTTP,瀏覽器會使用 HTTPS 重新導向至相同的頁面。