Javascript 通过使用AJAX回调发送参数来防止插件被盗

Javascript 通过使用AJAX回调发送参数来防止插件被盗,javascript,jquery,Javascript,Jquery,我已经构建了一个新的jQuery插件,我希望能够在用户购买之前向他们演示这个插件。但我也不希望任何人能够简单地复制代码而不必付费 出于这个原因,我使用 我想到了两个进一步保护/使其更难复制的想法: 根据window.location.hostname对域名检查进行硬编码 使用AJAX将尽可能多的网站信息发送回我服务器上的PHP脚本 除了域名之外,还可以使用Javascript获取哪些额外信息。例如,PHP您拥有$\u服务器[] 你对进一步保护它有什么想法吗 好的,我刚刚自己写了这个,这个,似

我已经构建了一个新的jQuery插件,我希望能够在用户购买之前向他们演示这个插件。但我也不希望任何人能够简单地复制代码而不必付费

出于这个原因,我使用

我想到了两个进一步保护/使其更难复制的想法:

  • 根据
    window.location.hostname对域名检查进行硬编码
  • 使用AJAX将尽可能多的网站信息发送回我服务器上的PHP脚本
除了域名之外,还可以使用Javascript获取哪些额外信息。例如,PHP您拥有$\u服务器[]

你对进一步保护它有什么想法吗

好的,我刚刚自己写了这个,这个,似乎在两个不同的领域工作

$.ajax({
    url: 'http://example.co.uk/record.php',
    type: 'post',
    data: 'href='+document.location.href + '&referrer='+document.referrer
});
Record.php

mysql_query("INSERT INTO `demo` (`id` ,`datetime` ,`href` ,`referrer`)VALUES (NULL ,CURRENT_TIMESTAMP , '".$_POST['href']."', '".$_POST['referrer']."')");

我认为你做不到。如果你想向用户演示,只需录制一部电影即可。大多数网站都是这样做的。

我认为你做不到。如果你想向用户演示,只需录制一部电影即可。大多数网站都是这样做的。

你可能不喜欢这个答案,但你不能以任何真正有意义的方式“保护”你的javascript。模糊处理是你唯一真正的手段,而这并不是有意义的保护


您最好只提供适当的许可条款。

您可能不喜欢这个答案,但您无法以任何真正有意义的方式“保护”您的javascript。模糊处理是你唯一真正的手段,而这并不是有意义的保护


您最好只提供适当的许可条款。

任何公开的代码都是不受保护的@大脑的答案是最可靠的方式,他们不能窃取实际的代码,尽管他们仍然可以窃取想法并让其他人编写

如果您绝对希望能够让某人在浏览器中使用此功能,而您不在浏览器中,那么一种跟踪方法就是使用图像对象

new Image().src = "http://mydemosite.com/tracker.php?domain=" +  encodeURIComponent(window.location);
http://mydemosite.com/tracker.php
然后将记录调用域,您可以在传入的域与您允许的域不匹配时设置警报。很自然,你必须把你的代码弄得乱七八糟才能隐藏这个小金块

这解决了两个问题。第一,它不使用AJAX,因此您不必担心同源策略。第二,因为它不使用AJAX,所以它不会出现在Firefox的控制台选项卡中


当然,这仍然是由勤奋和模糊的代码检测可以清理和可读,但你做什么,你可以正确?您可能至少会有一次调用跟踪器/记录器的情况,这就是您识别窃贼所需的一切。

任何公开的代码都是不受保护的@大脑的答案是最可靠的方式,他们不能窃取实际的代码,尽管他们仍然可以窃取想法并让其他人编写

如果您绝对希望能够让某人在浏览器中使用此功能,而您不在浏览器中,那么一种跟踪方法就是使用图像对象

new Image().src = "http://mydemosite.com/tracker.php?domain=" +  encodeURIComponent(window.location);
http://mydemosite.com/tracker.php
然后将记录调用域,您可以在传入的域与您允许的域不匹配时设置警报。很自然,你必须把你的代码弄得乱七八糟才能隐藏这个小金块

这解决了两个问题。第一,它不使用AJAX,因此您不必担心同源策略。第二,因为它不使用AJAX,所以它不会出现在Firefox的控制台选项卡中


当然,这仍然是由勤奋和模糊的代码检测可以清理和可读,但你做什么,你可以正确?您可能至少会有一次调用跟踪器/记录器的情况,这就是您识别窃贼所需的全部功能。

试图阻止人们窃取您的Javascript是行不通的。不用麻烦了。如果他们真的拿走了,那就起诉他们。如果我不知道是谁偷了,我就不能起诉他们。这就是为什么我想到AJAX会通知我。AJAX不会通知你。它不能跨域calls@John:欢迎来到网络。这只是一个基本事实,你无法回避。如果用户的web浏览器可以理解代码,那么用户也可以理解。(很明显,如果有人偷了你的代码,他们很可能会注释掉你的通知代码。)试图阻止别人偷你的Javascript是行不通的。不用麻烦了。如果他们真的拿走了,那就起诉他们。如果我不知道是谁偷了,我就不能起诉他们。这就是为什么我想到AJAX会通知我。AJAX不会通知你。它不能跨域calls@John:欢迎来到网络。这只是一个基本事实,你无法回避。如果用户的web浏览器可以理解代码,那么用户也可以理解。(很明显,如果有人偷了你的代码,他们很可能会对你的通知代码进行注释。)这主意太棒了,我从来没有想到firefox/firebug控制台会显示AJAX调用。这主意太棒了,我从来没有想到firefox/firebug控制台会显示AJAX调用。