不使用用户代理字符串检测 Google TV

2024-04-25

我们有一个客户希望将其内容发布到 Google TV(通过 Chrome 浏览器),但法律限制其在“常规网络”上发布。因此,我们希望通过 Javascript 检测 Google TV 浏览器,如果没有检测到,则禁止播放该内容。

第一个想法是检查用户代理字符串,但显然他们不喜欢这样做,因为用户很容易在网络浏览器上更改用户代理字符串,因此它会假装是 Google TV 浏览器。

是否还有其他东西我们可以检查,以确保伪造起来有点困难(或至少不那么明显)?我知道如果有人足够努力的话任何解决方案都可以被破解,这没关系。


您可能可以做一些事情,因为您只想确保正在检测谁是NOT使用 GoogleTV 浏览器。当然,这些可以被欺骗,但它们比仅使用不同的用户代理字符串要困难得多。

基本上,这个想法是测试某些 JavaScript 对象支持(请参阅此页面:http://www.javascriptkit.com/javatutors/objdetect3.shtml http://www.javascriptkit.com/javatutors/objdetect3.shtml一些想法)。一个例子是测试是否存在window.opera这表明该浏览器确实是 Opera 而绝对不是 Google TV。

为此,我编写了一个小小提琴示例,该示例无法通过所有现代浏览器中的用户代理切换来伪造,并且需要更复杂的机制来绕过。我测试过,它确实在 Google TV 上通过了。

http://jsfiddle.net/XBT4w/2/ http://jsfiddle.net/XBT4w/2/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不使用用户代理字符串检测 Google TV 的相关文章

随机推荐