繁体   English   中英

重定向时修改用户代理字符串

[英]Modify User Agent String on Redirect

我试图在重定向上更改User-Agent字符串。 因此,如果用户点击此页面,则使用定义的用户代理字符串将他们重定向到其他页面。

因此,这是我到目前为止拥有的JavaScript:

<script type="text/javascript">
    if (navigator.__defineGetter__) {
        navigator.__defineGetter__("userAgent", function () { 
            return 'Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B206';
        });
    } 
    else if (Object.defineProperty) { 
        Object.defineProperty(navigator, "userAgent", { 
            get: function () { 
                return 'Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B206';;
            }
        })
    }

    document.location = "http://www.whatsmyuseragent.com";
</script>

但是,如果将其转储到空白的HTML页中并运行它,则可以在“我的用户代理”网站上看到User-Agent字符串未修改。 对我在做什么错有任何想法吗?

您无法执行此操作,因为它是“ xss漏洞”。 您的javascript代码从上到下调用​​。 首先,更新导航器,然后重定向页面。 当浏览器开始加载“ http://www.whatsmyuseragent.com ”页面时,您的更改已清除。

您可以更改您的用户代理,并将get ajax请求发送到“ http://www.whatsmyuseragent.com ”,以欺骗该服务。

例如在这里Vanila js

$.ajaxSetup({
  beforeSend: function(request) {
    request.setRequestHeader("User-Agent","InsertUserAgentStringHere");
  }
});

但是,当您更改位置时,用户代理将作为浏览器的默认设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM