【发布时间】:2016-06-21 09:52:59
【问题描述】:
我们公司有一条业务规则,我们应该阻止我们的用户从未经我们的 QA 团队完全测试的浏览器访问我们的应用程序。此业务规则不可更改,我们的用户提前知道他们只能使用某些浏览器来使用我们的产品。
为了实现该业务规则,我正在寻找一个像 Modernizr 这样的网络库,它使用特征检测来检测浏览器。 Modernizr 是一个特征检测库,不是浏览器检测库,他们说过they won't add browser detection。
是否有任何库使用特征检测技术来验证用户代理字符串?
我宁愿不单独嗅探用户用户代理。如果我想做用户代理嗅探,我会使用Bowser 之类的东西。
预计解决方案不需要 100% 正确。解决方案只需要 90% 正确。
【问题讨论】:
-
你是对的,代理嗅探不是答案,尽管几乎不可能创建你所追求的,因为浏览器比你想象的要多,而且有些浏览器在行为方面确实相同(尝试区分最新的 Opera、Chrome 和 Brave 之间的所有功能,它们都支持相同的 javascript 功能和 CSS 属性)。想象一下收集和维护这些数据所涉及的工作和数据,几乎每周都有新版本发布(Chrome/Firefox/Opera/Edge 是“常青树”,因此这些更新经常)
-
我认为您误解了为什么不鼓励 UA 嗅探。在您的情况下,您实际上确实想要 UA 检测。
-
“预防”似乎激进
-
@charlietfl 我没有指定这个业务规则。
标签: javascript feature-detection browser-detection