3

我想要一些建议假设我已经制作了一个产品,例如。汽车租赁网站/系统(PHP 和 MySQL) 我想将其出售给 40 多家汽车租赁公司 我该如何停止例如。'SA-Rentals' 从复制代码并将其提供/出售给'Cars 4U-Rentals'

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

理想情况下,我们想把产品卖给他们,然后让它脱离我们的控制。(低维护)

4

3 回答 3

7

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

为了保护您的代码免受非法行为(例如无论许可证如何出售代码),您唯一的选择是自己实际托管这些网站。混淆器提供了一些保护(也就是使您的代码解码过程变慢),但您的软件仍然不会被保护免于转售,而只是免于不必要的编辑!

于 2014-08-20T13:42:01.807 回答
2

正如你所提到的,混淆不是万无一失的。因此,您唯一的选择是许可。确保您以正确的许可分发软件,当您向客户出售网站时,客户会与您签署协议。他们受许可证的约束,如果你发现他们违反了许可证,你就有案子了。以我的经验,很少有公司愿意使用该代码并开始对其进行扩展或更改,如果他们出于业务目的购买了该软件,那么进入软件开发业务是一个全新的方向。

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

另一种选择是提供两种不同的许可,向那些想要更早更改它的人收取费用,因为他们理解他们不会在许可协议中分发它。

于 2014-08-20T13:45:48.153 回答
-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 Bar 设计”包含在 footer.php 中

此外,如果您想在引文中添加链接,只需将其替换为preg_match()(归功于 @Rizier123)

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

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

于 2015-05-24T18:24:24.840 回答