在向客户销售网站时如何保护我的PHP源代码?

时间:2014-08-20 13:37:40

标签: php source-code-protection

我想要一些建议 让我们说我做了一个产品,例如。租车网站/系统(PHP& MySQL) 我想把它卖给40多家汽车租赁公司 我该如何停止。 “SA-Rentals”只是复制代码并将其出售给“汽车4U租赁”

我能想到的最安全的方法是使用多租户,其中每个客户都有一个子域(例如:cleintname.myproduct.com) 我也看过PHP混淆和编码,但看起来很容易解码/修改

理想情况下,我们希望将产品卖给他们,然后让它不在我们手中。 (低维护)

3 个答案:

答案 0 :(得分:7)

“合法”保护您的最佳方式是在客户销售许可证时明确说明这一点(请注意,您实际上只是出售许可证而不是软件本身!)。

为了保护您的代码免受非法律操作(例如销售代码,无论许可证),您唯一的选择是自己实际托管这些网站。混淆器提供一些保护(也就是说使代码解码速度变慢),但是你的软件仍然不会受到转售的保护,只是来自不需要的编辑!

答案 1 :(得分:2)

正如你所提到的,混淆不是傻瓜式的。所以,你唯一的选择就是许可。确保您使用正确的许可分发软件,客户在您销售网站时与您签署协议。他们受许可证约束,如果您发现他们违反了许可证,您就有了案例。根据我的经验,很少有公司愿意接受该代码并开始扩展或改变它,如果他们为了他们的业务而购买了软件,进入软件开发业务是一个全新的方向。

正如Luca所说,您唯一可靠的方法是自己托管服务,然后客户永远不会获得代码。遗憾的是,您需要承担基础架构成本,因此您的许可模式需要相应更改。

另一个选择是提供两个不同的许可证,向那些希望更加预先更改许可证的人收取费用,理解他们不会在许可协议中分发它。

答案 2 :(得分:-2)

我遇到同样的问题,感谢@Brian Fegter,您可以使用以下工作代码来搜索您的版权引用。

add_action('template_redirect', 'foobar_explode_if_no_citation');

function foobar_explode_if_no_citation(){

    #Get the absolute server path to footer.php
    $footer_path = locate_template('footer.php');

    #Store the footer file contents in a var
    $footer_contents = file_get_contents($footer_path);

    #The required string
    $citation_string = 'Designed by Foo Bar';

    #Set off the nuclear bomb if there is an egregious offense
    if(!preg_match("/$citation_string/", $footer_contents))
        exit('All your website belongs to me. Make sure this string "Designed by Foo Bar" is included in footer.php');
}

您需要做的就是更改$citation_string以匹配您的内容,例如:Designed by Foo Bar

代码将搜索文件footer.php(您可以使用任何文件名更改它)作为字符串"Designed by Foo Bar",如果找不到它将输出警告消息,例如

  

您的所有网站都属于我。确保这个字符串“由Foo设计   栏“包含在footer.php

此外,如果您想在引文中添加链接,则只需将此preg_match()替换为if(!preg_match("/" . preg_quote($citation_string, "/") . "/", $footer_contents)) ,即可归功于@ Rizier123

{{1}}

我认为它可以帮助那些日夜工作的人。人民必须尊重版权。