【发布时间】:2018-01-11 17:44:26
【问题描述】:
我有一个网站,我想禁止所有不使用 chrome 及其衍生产品、firefox 及其衍生产品、safari 或新版本的 opera 的用户(IE 和其他旧浏览器可能会危及安全性)。有没有一种绝对万无一失的方法(即使是黑客也无法欺骗他们的浏览器)在客户端或服务器端的 JavaScript 中执行此操作?
【问题讨论】:
-
确保您的服务器已加固。这是唯一的防御。你无法控制任何客户端。
-
答案是“不”
-
如果某个特定的浏览器会危害您网站的安全性,那么即使您禁止它,您也无法恢复该安全性。它表明该漏洞很容易被用户触及,这反过来意味着任何人都可以利用它,即使他们使用“认可”的浏览器。这听起来像是一个 XY 问题。
-
嗯,问题是旧的 IE 版本不支持 cookie 安全性(特别是 httpOnly),我不知道如何解决。
-
@IsaacKrementsov - 除非您允许来自外部来源的第 3 方、恶意和不受信任的 Javascript 进入您的网页,否则您对 httpOnly 购买的东西有点误解。如果 cookie 在传输过程中受 https 保护,那么从用户浏览器中捕获它们的唯一方法是用户计算机上运行的恶意工具。而且,如果他们运行了这样的工具,那么无论如何都可以从浏览器存储中获取 cookie。你担心什么样的攻击,你认为你必须有
httpOnly才能安全?
标签: javascript node.js security browser cross-browser