【问题标题】:How to protect/Hide Javascript method or JS file from user to view [duplicate]如何保护/隐藏用户查看的Javascript方法或JS文件[重复]
【发布时间】:2010-10-01 11:59:42
【问题描述】:

如何保护我实现的 JS 方法不被用户访问?这样没有人可以复制这些方法。通常,用户可以很容易地在 firebug 中看到 JS 方法。我也想在萤火虫中隐藏方法。 有什么技巧可以对用户隐藏方法吗?

注意:我不想使用 Eval 方法。所以请不要建议我使用基于评估的技巧

【问题讨论】:

  • 出于什么原因要隐藏 JavaScript 代码?
  • 不要放到网上。唯一可行的方法。
  • 经过努力,我做了一些方法。我不希望任何人都可以复制和使用它
  • @brx dot net,欢迎来到客户端编码的世界。你的代码是开放的季节,但是 99% 的人想要隐藏他们的代码都有糟糕的代码。经过 12 年的 Web 开发,这一事实仍然存在。

标签: javascript ajax security json


【解决方案1】:

没有办法向用户隐藏您的代码。如果浏览器可以看到它,那么 Firebug 可以看到它。使用压缩器/打包器曾经是一种更难获取数据的方法,但像 http://jsbeautifier.org/ 这样的网站能够获取打包代码并使其更漂亮。

简短的回答是没有办法隐藏代码。如果可能的话,微软、谷歌、雅虎等公司将隐藏他们的代码。

将 JavaScript、HTML 和 CSS 视为开源,因为只需单击一下即可获得源代码。

【讨论】:

  • +1 使用 jsbeautifier 进行逆向工程
【解决方案2】:

有效保护代码的唯一方法是永远不要将其发送给客户端:
将您的“秘密”方法放在服务器上,并使它们可以从客户端进行 ajax 调用。

【讨论】:

    【解决方案3】:
    1. 尝试打包/缩小代码

    google closure compiler 是一个好的开始

    还有一个您可以使用的 YUI 库以及许多其他库。

    这将使您的代码几乎无法在 firebug 中调试。

    虽然没有完整的证明方法可以阻止用户对您的代码进行修改,因为根据定义它确实在客户端运行。

    1. 您可以做的另一件事是将要隐藏的方法放在闭包中,这样用户就不能简单地从 firebug 运行 someMethod() 并让它执行代码。

    【讨论】:

      猜你喜欢
      • 2011-07-07
      • 2017-03-02
      • 2014-01-30
      • 2015-03-26
      • 1970-01-01
      • 2018-01-10
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多