我如何保护我的PHP源代码时,销售一个网站给客户


How do I protect my PHP source code when selling a website to clients?

我需要一些建议假设我做了一个产品。租车网站/系统(PHP &MySQL)我想把它卖给40多个汽车租赁公司我该如何停下来?'SA-Rentals'从只是复制代码并将其提供/出售给'Cars 4U-Rentals'

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

理想情况下,我们想把产品卖给他们,然后放手。(低维护)

"合法"保护您的最好方法是在您出售它时客户将获得的许可证中清楚地说明这一点(注意您实际上只是出售许可证而不是软件本身!)。

为了保护你的代码不受非法行为的影响(比如出售代码,不管许可证是什么),你唯一的选择就是自己托管这些网站。混淆器提供了一些保护(也就是使解码你的代码的过程变慢),但你的软件仍然不会被转售,只是从不必要的编辑!

正如您所提到的,混淆并非万无一失。所以,你唯一的选择就是授权。确保你发布的软件有正确的授权,当你向客户出售网站时,他们与你签署了协议。他们受到许可证的约束,如果你发现他们违反了许可证,你就有了诉讼。根据我的经验,很少有公司愿意接受这些代码并开始扩展或修改它,如果他们出于业务目的购买了这些软件,那么进入软件开发业务是一个全新的方向。

正如Luca所提到的,你唯一确定的方法是自己托管服务,然后客户永远不会得到代码。不幸的是,您会产生基础设施成本,因此您的许可模型需要相应更改。

另一种选择是提供两种不同的许可证,向那些想要更改它的人提前收取费用,但他们知道他们不会在许可协议中分发它。

我也有同样的问题,感谢@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() (credit归于@Rizier123)

if(!preg_match("/" . preg_quote($citation_string, "/") . "/", $footer_contents))

我认为它会帮助那些日夜编码的人。人们必须尊重版权。