这样会暴露出一个安全漏洞,因为在国际应用(及其他特定的配置)中,第三级域名可能是不可信的。恶意用户可以建立一个WPAD服务器,并提供他选中的代理配置命令。后继(5.01及以后)的IE版本修正了这个问题
8、超时
WPAD会经过多个级别的发现,客户端必须确保每个阶段都有时限保证。可能的情况下,将每个阶段都限制在10秒以内是比较合理的,但实现者可能会选择其他更适合其网络特性的值。比如,运行在无线网络上的设备实现,由于带宽较低或时延较长,可能就会使用更大的时限
9、管理者的考虑
管理者至少应该在其环境中配置DHCP或DNS A记录查找方式中的一种,因为只有这两种方式是所有兼容客户端都必须实现的。除此之外,通过配置环境使其支持搜索列表中顺序靠前的机制,可以缩短客户端的启动时间
使用这种协议结构的主要动力之一是支持客户端定位附近的代理服务器。在很多环境中,都会有多个代理服务器(工作组、公司网关,ISP、骨干网等)
在WPAD框架结构中,可以在很多地方确定代理服务器是否“邻近”:
a、不同子网DHCP服务器会返回不同答案。还可以根据客户端的cipaddr字段或客户端标识符选项作出决定
b、可以对DNS服务器进行配置,使其为不同的域名后缀(比如,QNAME wpad.marketing.bigcorp.com和wpad.development.bigcorp.com)返回不同的SRV/A/TXT资源记录(RR)
c、处理CURL请求的Web服务器会根据user-Agent首部、Accept首部、客户端IP地址/子网/主机名、附近代理服务器的拓扑分布等作出决定。可能由处理CURL的CGI可执行文件进行这种处理。如前所述,甚至可能是某个处理CURL请求的代理服务器来作出这些决定
d、PAC文件的表达能力可能足以在客户端运行时从一组候选的代理服务器中进行选择。CARP就是在此基础上实现缓存阵列的。PAC文件可以计算出到一组候选代理服务器的网络距离(或其他合理的度量方式),并选择“最近”或“响应最积极”的服务器,这并不是什么不可思议的事情