2. 使用客戶證書 假如設立了一個安全的Web網站或部分內容具有安全機制的網站,可安裝一個數字服務器證書,通過允許訪問者使用證書中的加密的細節,來驗證服務器。每一次對該站點或目錄的頁面請求,服務器都將發送證書的一個副本,瀏覽器可檢查這個副本以確定正在和誰交談。 同樣,也可設置服務器,要求用戶在進入網站時提供一個有效的數字證書。他們可從很多來源獲得此證書,例如Verisign (http://www.verisign.com)或Thawte Consulting(http://www.thawte.com)。讀者將在第25章看到這一處理過程的細 節。 這些情況都使用了Request對象的ClientCertificate集合的值,本章的實例代碼中,已包含了一個顯示用戶如何使用些集合值的一些方法的頁面。 這一網頁被命名為showcert.asp,而且其所做的一切就是遍歷lientCertificate集合顯示其包含的所有值。可使用以前經常使用的簡單代碼來完成它,唯一的不同之處就是建立一個HTML表以容納結果,并將其截為每60個字符一組。 <TABEL CELLPADDING=0 CELLSPACING=0> <% For Each keyItem In Request.ClientCertificate() StrItemValue = Request.ClientCertificate(keyItem) If Len(strItemValue) > 90 Then strItemValue = Left(strItemValue, 60) & “..etc.” Response.Write “<TR><TD>” & keyItem & “ = “ & strItemValue & “</TD></TR>” Next %> </TABLE> 運行結果如下圖所示:(由于豆豆沒有申請服務器證書,該圖略)
使用客戶證書重定向 一旦要求所有訪問網站或部分網站的瀏覽者給出的其客戶證書,就可以使用其包含的信息來制作我們為此用戶創建的網頁。例如,可使用他們的證書的Organization條目來自動使他們重定向到該網站的指定部分,使別的訪問者重定向到別的地方: If Request.ClientCertificate(“SubjectO”) = “Wrox Press Inc” Then Response.Redirect “/wrox_staff/default.asp” ‘Wrox staff site Else Response.Redirect “/public/Default.asp” ‘Normal public site End If 相應地,可使用Country條目來使訪問者重定向到一個相應的網站: Select Case Request.ClientCertificate(“SubjectC”) Case “UK”: Response.Redirect “http://uk_site.co.uk/” Case “DE”: Response.Redirect “http://de_site.co.de/” Case “FR”: Response.Redirect “http://fr_site.co.fr/” ‘... ect. Case Else: Response.Redirect “http://us_site.com/” End Select
4. 創建定制的日志消息 假如設置了服務器,以W3C Extended Log File Format格式將請求記錄到一個文本文件,可使用Response.AppendToLog方法在日志文件條目的結尾處添加一條消息字符串。若想為特定的網頁存儲一些值或消息,或在腳本中出現了特定的情況 時,這種方式是非常有用的。 例如,通過的Intranet的“stationary order”應用程序,可以記錄超過特定的條目數目的雇員的部門號碼: ... If intItemCount > 25 Then Response.AppendToLog “Large order from ‘” & strDept & department.” End If ...