如何指定用户代理字符串 (UA) - 基于每个请求/iFrame?
是否有一种简单的方法可以为单个页面内的特定 http 请求、框架或 iFrame 指定 UA 字符串?
例如,对服务器的主要请求将来自...
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3
而第二个请求,无论是发往原始(您的)还是另一个(XSS),来自 iFrame 或 XHR 等,都会识别自己,因为
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5
我意识到这是可能的通过无数的代理机制...但是所有此类解决方案都涉及复杂的会话和 cookie 操作等。从直接页面作者的角度和工具箱(即 JS、页面标题,甚至服务器配置等)这是否可能?
Is there a simple way to specify the UA string for a particular http request, frame or iFrame within a single page?
For example, the main request to the server would come from...
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3
and a second request, whether to the originating (your) or another (XSS), from an iFrame or XHR, etc. would identify itself as
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5
I realize this is possible via myriad a proxy mechanism... but all such solutions involve convoluted session and cookie manipulation, etc.. Is this possible from a direct page-authorer's perspective and toolbox (ie. JS, page headers, even server configs, etc?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当您使用 JS 发送请求时,可以更改用户代理。
请注意,更改它通常不是一个好主意,因为如果经过身份验证的用户突然更改用户代理字符串,防火墙/负载平衡器可能会感到困惑,并且可能会将其视为会话注入攻击......
It is possible to change the user-agent when you are using JS to send requests.
Note that it is generally not a good idea to change it, as firewalls / load balancers might get confused if an authenticated user suddenly changes user-agent string, and might consider it a session injection attack...
不可以,网页无法更改浏览器发送的用户代理。
例外情况是如果您使用 flash 发出请求。然后它将使用 Flash 的用户代理。
No, a web page cannot change what user agent the browser sends.
The exception to this is if you use flash to make requests. Then it'll use flash's user agent.