网页如何判断浏览器是否使用了 PAC(自动代理脚本)?

2018-08-23 11:07:14 +08:00
 leoleoasd

如题

本人 macos chrome 最新版

55r 工作在 pac 模式的时候 netflix 能检测出来,提示我关闭代理

工作在全局模式的时候 netflix 不能检测出来

如果任何网页都能检测是否在使用 PAC,是否正在使用代理岂不是很简单就能判断?

5764 次点击
所在节点    程序员
13 条回复
GeruzoniAnsasu
2018-08-23 11:20:51 +08:00
我猜是检测同一 session 在主站的 ip 和资源站上的不一样?

pac 的话只有主站会有名单
leoleoasd
2018-08-23 11:25:08 +08:00
@GeruzoniAnsasu 这样的话,光纤多播,负载均衡是不是也会被识别为代理?
xy90321
2018-08-23 11:29:27 +08:00
因为你的 pac 覆盖的不够,所以导致有 direct 和 proxy 同时发生。诚如 1 楼所言。
leoleoasd
2018-08-23 11:31:23 +08:00
所以 有这样一种代理检测方法: 网页返回的跨源访问头里加上 whatismyipadress 然后 js 调用他的 api 获取用户 ip 和服务器端获取的 ip 对比?
leoleoasd
2018-08-23 11:31:55 +08:00
就是客户端访问一个通常在 pac 黑名单里的网站,调用他提供的 api 获取用户 ip ?
Laynooor
2018-08-23 11:32:06 +08:00
chanssl
2018-08-23 11:52:51 +08:00
楼上+1
xy90321
2018-08-23 11:54:55 +08:00
@leoleoasd
没什么用,代理那里把 whatsmyipaddress 也加到代理对象就没用了
PERFECTCN
2018-08-23 13:44:37 +08:00
应该是 WebRTC 的问题,请确认你修复了该漏洞。

----

如果这里能看到本地网络,就是没修复:\\

http://ip-api.com/#

----

解决参考: http://www.williamlong.info/archives/5292.html
leoleoasd
2018-08-23 13:46:21 +08:00
@PERFECTCN 的确能看到我本地的 ip 但是我现在也是运行在全局模式下的 而现在 netflix 并不能识别到我正在使用代理
PERFECTCN
2018-08-23 14:07:39 +08:00
@leoleoasd #10
网页应该是不能直接确定是否使用代理的,目前我还没听说过能做到的。

变相的(识别)做法有可能是通过网页 /客户端去请求其他域的节点,

然后通过目标节点反馈来给本机真实位置加权
3a3Mp112
2018-08-23 14:14:52 +08:00
@PERFECTCN 你在网站里面加一个被墙的资源,看到被拉取成功了,不就是判断了吗。
和 iOS TIM 客户端一样的做法
PERFECTCN
2018-08-23 14:36:02 +08:00
@3a3Mp112 对,就是这意思

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/482430

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX