|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;client|objectClientCertificate
<P>ClientCertificate汇合从Web扫瞄器公布哀求中猎取考证字段(由X.509尺度指定)。假如Web扫瞄器利用SSL3.0/PCT1协定(也就是说,它利用以https://开首的URL,而不是http://)毗连服务器及服务器哀求考证,则扫瞄器将发送考证字段。
假如没有发送考证,ClientCertificate汇合将前往EMPTY。
必需先将Web服务器设置为请求客户端考证,然后才干利用ClientCertificate汇合。
语法
- Request.ClientCertificate(Key[SubField])
复制代码 参数
Key指定要猎取的考证字段称号。客户端考证包含以下字段。值意义Certificate按ASN.1格局的二进制流字符串,个中包含完全的考证内容。Flags一组标记,供应其他客户端考证信息。能够设置上面的标记:ceCertPresent-以后的客户端考证。
ceUnrecognizedIssuer-该链下去自未知的公布者的最初一个考证。
注重要利用以上标记,必需在ASP页中包括客户端考证包括文件。若您正在利用VBScript,则应包括cervbs.inc。这些文件安装在InetpubASPSampSamples目次下。
Issuer包括子字段值的列表的字符串,此列表包括考证公布者的信息。若该值在无SubField项的情形下指定,则ClientCertificate汇合前往一个以逗号分开的子字段列表。比方,C=US,O=Verisign等。SerialNumber包括考证的序列号的字符串,序列号以连字符(-)分开的16进制ASCII码暗示。比方,04-67-F3-02。Subject包括子字段值的列表的字符串,此列表包括有关考证的主题信息。若该值在无SubField项的情形下指定,则ClientCertificate汇合前往一个以逗号分开的子字段列表。比方,C=US,O=Verisign等。ValidFrom指定考证什么时候无效。这天期遵守VBScript格局并随国度(区域)设置而变更。比方,在美国可暗示为9/26/9611:59:59PM.ValidUntil指定考证什么时候到期。
SubField可选参数,用于按Subject或Issuer关头字检索独自的字段。此参数作为一个后缀增加到Key参数中。比方,IssuerO或SubjectCN。下表列出了一些通用的SubField值。值意义C指定原国度(区域)名。CN指定公用用户名。(此子字段仅同Subject关头字一同利用。)GN指定给定的称号。I指定一组首字母。L指定地点地。O指定公司或构造称号。OU指定机构的称号。S指定州或省。T指定这人或构造的头衔。
与在上述列表中所列的值分歧,SubField的值可被ASN.1标识所辨认。ASN.1标识的格局是一勾通过句点(.)分开的一系列数。比方:3.56.7886.34。
正文
能够经由过程关头字用轮回来遍历ClientCertificate汇合。上面的例子对此举行演示。- <%ForEachkeyinRequest.ClientCertificateResponse.Write(key&":"&Request.ClientCertificate(key)&"
- ")Next%>
复制代码 示例
上面的示例利用Subject关头字测试客户端考证是不是存在。- <%IfLen(Request.ClientCertificate("Subject"))=0Response.Write("Noclientcertificatewaspresented")Endif%>
复制代码 上面的示例猎取公布客户端考证的公司的公用名。- <%=Request.ClientCertificate("IssuerCN")%>
复制代码 上面的示例反省客户端考证主题的构造名。- <%If(Request.ClientCertificate("Subject")="Msft")Response.Write("GoodChoice!")Endif%>
复制代码 上面的示例显现客户端考证什么时候到期。- Thiscertificationwillexpireon<%=Request.ClientCertificate("ValidUntil")%>
复制代码 上面的示例利用Flags关头字测试客户端考证的公布者是否是已知的。第一行的include命令使剧本可以使用已定名标记ceUnrecognizedIssuer。- <%IfRequest.ClientCertificate("Flags")andceUnrecognizedIssuerthenResponse.Write"Unrecognizedissuer"EndIf%>
复制代码 使用于
Request工具
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 |
|