Facebook 如何禁用浏览器开发者工具来防范诈骗
为了打击猖獗的诈骗,Facebook 实施了一项措施来阻止浏览器的内置开发者工具。此举引起了人们的关注,一些专家声称这在技术上是不可能的。然而,Facebook 却证明了事实并非如此。
阻止机制
Facebook 通过覆盖控制台的 commandLineAPI 属性来有效禁用开发者工具。这是通过将属性定义为在访问时抛出错误的 getter 来实现的。
Object.defineProperty(console, '_commandLineAPI', { get : function() { throw 'Nooo!' } })
这可以防止在控制台中执行的任何代码被执行。
为什么会阻塞?
Facebook 行动背后的动机是保护用户免受复杂的社会工程攻击。诈骗者经常引诱受害者将恶意 JavaScript 代码粘贴到浏览器控制台中,这可能会导致帐户劫持或其他有害后果。
Chrome 的错误修复和额外保护
但是,Chrome 团队将阻止用户端 JS 控制台视为一个错误并对其进行了修补。为了进一步保护用户,Facebook 实施了额外的措施来防止 self-xss,即用户被诱骗在自己的浏览器中执行恶意代码。
影响
Facebook 的方法亮点人们对客户端攻击感到担忧,但也引发了对此类措施有效性的质疑。虽然暂时阻止开发人员工具可以减轻直接威胁,但它并不能从一开始就解决阻止恶意代码执行的根本问题。是否会采取额外的安全措施来更全面地解决该问题还有待观察。
以上是Facebook 的开发者工具阻止是真正的诈骗解决方案吗?的详细内容。更多信息请关注PHP中文网其他相关文章!