假设你的配置 URL 是 https://config.example/proxy.pac?office=west。在 FindProxyForURL(url, host) 内部,url 参数并不是那个配置 URL。

它描述的是正在被路由的目标请求,并受客户端已记录的清洗规则约束。脚本不会获得类似页面 location.search 那样含有 PAC 下载查询字符串的内容。

如果查询参数用于选择配置,就让配置服务器在生成返回的脚本时有意使用它。这样客户端得到的是显式策略,而不必在每次路由决策时试图恢复不可用的下载元数据。

保持输入受控,不要把机密发布在配置 URL 中。用于分发的 URL 可能出现在配置记录和服务器日志里。

这与解析目标的查询是两回事。浏览器同样可能从该目标输入中移除 HTTPS 路径与查询信息,但那是另一个边界,而不是对 PAC 下载 URL 的访问。

相关文章