【问题标题】:Kiosk mode for Websites网站的信息亭模式
【发布时间】:2016-03-18 20:18:34
【问题描述】:

互联网上的一些安全网站,如银行等,已禁用“右键单击”。我知道这只是为了防止最终用户访问“检查元素”或“工具箱”项目。但是,在某些浏览器上,只需按 F12 键或任何等效键即可。

那么,如果有人试图篡改代码,有什么方法可以持续检查网页代码(HTML、CSS 和 JS)的变化,并将它们重定向到警告页面?还是在他们尝试阅读代码之前阻止他们?

【问题讨论】:

  • 最好的办法永远是验证 POST 上的数据,并处理无效的情况
  • 既然 99.9% 的访问者根本不知道使用 F12 键或面板的用途 - 为什么要通过放慢页面速度来惩罚他们?如果我喜欢您网站上的特定颜色,我会因为查看 CSS 样式而受到惩罚吗?您真正担心数据的唯一时间是数据被发送回服务器进行进一步处理时。然后你依靠你的服务器端脚本来做完整的验证。
  • 是的。以这种方式思考的企业是懒惰或无能的,真的很困扰我。由于无法生成适当的系统,它们会降低用户体验。雇用能胜任这项工作的人。

标签: javascript jquery html css kiosk


【解决方案1】:

禁用右键单击是最简单的解决方法。您永远不能完全依赖网络浏览器来保护您的内容。此外,大多数(如果不是全部)主要的现代 Web 浏览器都内置了针对跨站点脚本的保护。这些浏览器可能会比您更擅长检测这些。我实际上怀疑您为防止跨站点脚本编写的任何 Javascript 尝试实际上可能会使您的页面更容易受到它的攻击。

您可以考虑一些事情来使您的网络服务器更安全:

  1. 使用表单时,请考虑使用anti-forgery token
  2. 始终验证用户输入。您的 Web 服务器将消息发送到客户端计算机,然后客户端计算机将该内容加载到 Web 浏览器中。一个好的黑客甚至不需要网络浏览器来破解你的网站。所以,你不能假设传入的消息是安全的。这就是您需要验证所有输入的原因。
  3. 考虑创建honeypots 来检测机器人或黑客的恶意企图。

【讨论】:

    【解决方案2】:

    我同意上述 cmets 中的 jeff 的观点;不要担心这些用户,因为您永远不会得到足够严格的安全性来阻止所有人。只需担心99%。如果有人说他们可以阻止所有用户修改浏览器代码,那是骗人的。

    在服务器端而不是在浏览器中执行您的实际处理和逻辑,并且永远不要相信他们发送给您的任何内容。假设它是一个谎言或垃圾,直到你另外验证。

    【讨论】:

      【解决方案3】:

      可能不会,因为该操作(启动检查器)发生在浏览器功能的不同层上,html 和 javascript 根本无法访问该层。因此无法阻止该操作(查看页面的 html 和 javascript)。

      如果您要锁定所有可能打开 js 检查器的操作。我确信有办法锁定你的事件绑定,例如年轻时执行 js 代码,这使得你无法为 F12、右键单击和其他操作添加自己的储物柜。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-09
        • 2021-07-15
        • 2011-01-24
        • 1970-01-01
        • 2016-05-14
        • 2014-05-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多