如何识别我的PHP脚本是否由其他人托管

时间:2010-10-06 12:31:20

标签: php piracy-prevention

我正在以35美元的价格为个人用户在线销售PHP脚本

有没有办法确定我的脚本是否由多个用户托管..

我应该在脚本中使用任何逻辑来查找他的身份吗?

是否有一种简单的方法来找到盗版者

请帮帮我。 (对不起语法错误)

5 个答案:

答案 0 :(得分:1)

如果可以,尝试对您的服务器进行简单调用以跟踪脚本使用情况,您应该发送域名和IP。为此使用cURL。如果您的业务逻辑允许这样做,那么如果跟踪不成功,您就可以禁用脚本功能。

因为PHP只是纯文本,所以任何人都可以删除您的跟踪代码部分。尝试模糊代码。

答案 1 :(得分:1)

PHP中没有可靠的方法来阻止其他人使用您的脚本。因为PHP使用即时编译,所以任何有权访问文件的人都可以读取源代码。这意味着您可以轻松禁用放入脚本的任何call-home逻辑。您可以做的最好的事情是对其进行模糊处理,但任何有足够决心的人都可以编辑代码。

您最好的解决方案是使用良好的许可证,或者使用可以分发的语言进行开发。使用PHP,没有一种可靠的方法可以防止重复使用源代码。

我建议你不要在你的脚本中加入任何类型的回拨函数。首先,它可以被禁用,因此基本上是无用的。其次,即使是脚本的合法用户,也会造成严重的延迟。最后,如果必须将其放入,请务必告诉用户您正在这样做。

答案 2 :(得分:1)

例如,在脚本中的某个位置:

<?php
file_get_contents('http://yourserver.com/tranck_script_users.php?site='.url_encode($_SERVER['HTTP_HOST']));
?>

通过这种方式,您将看到哪些主机使用您的脚本。当然,任何人都可以从你的脚本中删除这一行,没有100%的方法可以肯定地知道。

答案 3 :(得分:1)

如果没有(IMO)影响用户的安全/隐私,就无法做到这一点。

执行此操作的唯一“干净”方法是使用IonCube等工具对脚本进行编码(还有许多其他但从未使用过它们)并限制特定域上的执行。缺点(根据您的许可证方案,您还可以将此视为加号)是用户无法查看/修改您的代码。

答案 4 :(得分:1)

使用非编译脚本可以做很多事情来消除盗版行为。任何人都可以修改源代码以删除您拥有的任何保护措施。但是,您可以尝试通过某种混淆工具运行脚本,或者尝试手动“编码”文件,就像许多PHP恶意软件所做的那样。然而,混淆和这种类型的编码可以并且将会被有足够时间的人击败。

如果您愿意为问题投入一些资金,可以查看IonCube EncoderZend Guard。这两个都将保护您的脚本,我知道至少Zend Guard允许每服务器许可。这些解决方案要求最终用户安装IonCube或Zend装载机。