【问题标题】:How do you hide an element in HTML securely?如何安全地隐藏 HTML 中的元素?
【发布时间】:2020-11-23 22:55:44
【问题描述】:

如何安全地将 HTML 元素隐藏到用户无法简单地右键单击页面、查看源代码并将“显示”属性从“无”更改为“阻止”的地方?我需要一种能够隐藏 YouTube 视频的方法,直到有人输入网页密码,然后视频才会显示出来。我不希望没有密码的人能够看到视频。我已经加密了我的 JavaScript 代码,但我还没有找到防止人们事先泄露这些元素的方法。

非常感谢!

【问题讨论】:

  • 您唯一能做的就是使用来自服务器的新内容重新加载页面,其中不包含您不希望人们看到的项目。
  • 无法加密您的 JavaScript 代码。不过,您可以对其进行混淆或缩小。

标签: javascript html security encryption password-protection


【解决方案1】:

仅使用客户端控件是不可能的。用户可以简单地在浏览器中关闭 JavaScript 并更改视频的显示属性。最好的解决方案是按照 Scott Marcus 所说的去做,并且在您允许用户访问的页面中根本没有视频,直到他们输入密码。

【讨论】:

    【解决方案2】:

    您可以在 PHP 的帮助下做到这一点。 第 1 步 - 将页面从 HTML 更改为 PHP。 第 2 步 - 在索引页面中(我假设您所指的视频在索引页面上) 第 3 步 - 保留密码表,然后保留视频。请记住将密码表单和视频都封装在脚本中。

    表单逻辑 - 表单将接受数据,将其发送到 php 脚本以验证密码,然后将 POST 变量发送回索引页面,如果验证成功。

    现在你需要做的是,在表单上设置一个 if 条件,如果 POST 变量未设置,那么只有它会被处理。 视频反之亦然,如果设置了 POST 变量,即验证成功,则视频将加载。

    增加的好处 - 由于使用 PHP 和 if 语句,所以,如果没有密码,甚至没有人可以找到视频链接,因为如果 if 条件为假,PHP 甚至不会将这些语句打印为 HTML供浏览器引擎处理的语句。

    【讨论】:

      猜你喜欢
      • 2011-12-04
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 2020-05-08
      • 1970-01-01
      相关资源
      最近更新 更多