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 ...