【问题标题】:Is there a way to detect if the user hide a div through firebug and chrome?有没有办法检测用户是否通过firebug和chrome隐藏了一个div?
【发布时间】:2012-03-06 16:21:44
【问题描述】:

我在一个网站上工作,其中一个功能通过一层隐藏(这仅适用于注册用户,请注册)。

主站点是一个不应访问的配置文件。一些用户可能会尝试隐藏图层,所以我的问题是我是否可以处理一个函数来检测用户是否隐藏了图层,以便我可以再次显示它。

【问题讨论】:

  • 你能解释一下吗?如果他/她隐藏了一个 div,是否有一个功能可以检测用户的操作?
  • 您无法阻止在网页中查看源代码

标签: javascript firefox google-chrome firebug layer


【解决方案1】:

隐藏某个功能的 HTML 并不是控制用户对该功能的访问的好方法。它肯定会被打破。你不会赢。

在生成 HTML 的 Web 服务器上实现用户访问它所属的位置。

【讨论】:

  • 是的,我想知道为什么有人想做迈克尔想做的事……你的答案很明确。
  • 您仍然可以在客户端生成 html。只是客户端询问服务器要显示什么(只有数据)
  • 嗯......这是在获得服务器的许可后写入客户端的 DOM。这与我所说的一致......在服务器端控制访问。如果您生成直接的 HTML 并将其发送到管道中,或者使用 Ajax 调用之类的方法来获取其他部分,那么您并没有从根本上改变服务器控制访问的事实。
【解决方案2】:

你绝对不应该做这个客户端。几乎我能想到的所有解决方案都很容易避免。如果用户未注册,则不要包含已注册的用户功能,即使在浏览器中内容是不可见的。

【讨论】:

    【解决方案3】:

    如果您尝试使用 javascript 隐藏某些内容(如您的标签所说),那么这是一个坏主意。无论您尝试在 JS 中隐藏什么,用户最终都能看到它。这就是为什么它被称为客户端语言。尝试将逻辑移植到 php(或任何服务器端语言),这将确保用户永远无法以任何方式看到您的逻辑。

    【讨论】:

    • 为什么选择 PHP?任何服务器端技术都可以。
    • @EricJ.我想举个例子.. 不是字面意思 php。
    • 那么它不是隐藏的,它只是不存在,在客户端。客户端 js 应用程序可以动态获取给定用户(注册或未注册)可见的内容。您无需在服务器端(php、jsp 等)构建您的 Web 应用程序。
    • 嗯,可以做到,但设计会有点歪斜。服务器端语言应该用于这些。
    • @unludo:如果你允许 JavaScript 确定“是的,这家伙是注册用户,回电domain.com/GetRegisteredUserStuff”,那么我可以编辑和更改 JavaScript从if (isRegistered)if (!isRegistered) 并访问我不应该访问的内容。不管你是否混淆了 JavaScript……它很容易受到攻击。
    【解决方案4】:

    我不确定,如果我完全关闭,但我会尝试这样的事情:

    $(document).ready(function(){
       setInterval(function(){
         var div = $('#theAlwaysVisibleDiv');
         div.show();
       },1000);
    });
    

    重现它的一种方法,可能是通过开发者控制台更改 div 的可见性,它应该在一秒钟后重新出现?

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 2014-04-05
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 2012-08-05
      • 2021-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多