如何保护javascript代码不被其他域(被盗)运行?需要更多的想法

时间:2011-07-23 13:07:27

标签: javascript security obfuscation

首先,这看起来像是重复的

How to prevent your JavaScript code from being stolen, copied, and viewed ?

其他,但事实并非如此。

我搜索可以做的想法,窃取JS可能非常困难

我的一些例子:

  • 当然是混淆代码
  • 使用document.location检查一下 域中的字母等于脚本所在位置的字母 通常工作
  • 在函数调用中使用此位置的一部分,例如eval('first_part_of_function_name'+ part_from_location +'third_pard(parameters)');
  • 在页面设计的某个元素中存储应用程序中的一些重要的常量需求,并从JS中获取它,如$('#header div.onright a rel')
  • 通过AJAX和eval()
  • 获取部分脚本
  • 向脚本添加一些不必要的功能,说明。
  • 检查页面中某些元素的存在(页脚上的版权文本)
  • 在PHP中生成一些时间变量哈希并放入JS,其中将是检查此哈希和当前工作时间的函数
  • 也许使用其他JS文件?或绑定到隐藏在非常常见的脚本中的元素的事件(比如绑定jquery-min.X.X.X.js文件中的所有jquery所在的一些操作。

他们是好主意吗?还有一些吗?我认为最重要的可以是你可以用文档定位做的各种事情,这是唯一能在我们网站上使用正常编码工作的元素吗?

2 个答案:

答案 0 :(得分:7)

无论您编写代码有多复杂,都可以随时使用abstract interpretation读取代码,即自动捕获代码的本质。不知道内部,变量名称的代码(我假设您已经使用最小化,例如使用YUI compressor),文档,支持和泛化对其他任何人都毫无价值。

如果您的竞争对手(或潜在客户)正在窃取您的代码,请考虑简单起诉他们。如果它是互联网上的随机人员,你为什么关心?

答案 1 :(得分:0)