单个域的Javascript文件

时间:2010-05-23 09:19:09

标签: javascript security

如何使javascript文件仅在单个域上运行。我会压缩这个文件,当有人试图通过复制我的网站或只是javascript文件来使用它时,它将无法工作并提供警报。

这是example。我下载了所有文件但是在尝试查看时会发出一条警告说我需要购买它(我到底要做什么:)

4 个答案:

答案 0 :(得分:6)

不可能,javascript可以是 obfuscated ,但是熟练的开发人员可以随时解决这个问题并使用您的文件。您可以版权您的文件,但仍然在没有隐私政策的国家/地区,这无关紧要。

答案 1 :(得分:4)

你真的不能这样做。您可以在代码的开头添加一些内容,如下所示:

if (window.location.href.substring(0, 18) != "http://example.com") {
    alert("You thief! Stop using my code!");
}

...但所有这些意味着使用它的人会从他们的副本中删除它。 Obfuscation可能会有所帮助,但不一定有用。 Javascript解释器可以解释的任何东西,有人可以复制和重用。你所能做的只是设置更高的标准,你可能还有更重要的事情要做。

答案 2 :(得分:2)

在脚本语言中,源代码和程序与编译语言相反,在编译语言中,您将源代码编译为具有不同格式的二进制文件。这就是为什么(正如其他人所说)你不能保护你的JavaScript代码不被他人使用。唯一的方法(除了其他人提到的混淆)是将实现移动到其他地方,您可以创建一个包含您想要保护的逻辑的Web服务,然后让您使用AJAX调用它(并验证它来自您的位点)。

这具有明显的缺点,即速度较慢并且使您提供处理能力而不是使用客户端处理器。

答案 3 :(得分:2)

通过JSMIN(uglifier)运行,如果你仍然担心,javascript是错误的解决方案。