Как защитить исходный код PHP при продаже веб-сайта клиентам?

Я хотел бы получить совет Допустим, я сделал продукт, например. Веб-сайт/система проката автомобилей (PHP и MySQL) Я хочу продать его более чем 40 компаниям по прокату автомобилей Как остановить, например. «SA-Rentals» просто копирует код и передает/продает его «Cars 4U-Rentals».

Самый безопасный способ, который я могу придумать, - это использовать Multitenancy, где у каждого клиента будет поддомен (например, cleintname.myproduct.com).

В идеале мы хотим продать им продукт, а затем выпустить его из наших рук. (низкие эксплуатационные расходы)


person LegionDev    schedule 20.08.2014    source источник
comment
Похоже, это больше юридический вопрос, чем программный.   -  person Dan    schedule 20.08.2014
comment
если вы используете php, и он работает на их серверах, это того не стоит, и вы не так уж много можете сделать, когда у них есть код, однако использование его без вашего разрешения и т. д. сталкивается с проблемами авторского права, и вы можете подать на них в суд . Вот почему многие компании открывают исходный код своего программного обеспечения, но продают услуги по установке/обслуживанию/поддержке. Ваша лучшая защита — это хостинг у себя или размещение частей кода у себя и требование, чтобы их серверы делали запросы к вашим серверам для выполнения, или добавление скомпилированного плагина к самому PHP с закрытым исходным кодом.   -  person serakfalcon    schedule 20.08.2014


Ответы (3)


Лучший способ «юридически» защитить вас — четко указать этот момент в лицензии, которую клиент получит, когда вы ее продаете (помните, что на самом деле вы просто продаете лицензию, а не само программное обеспечение!).

Чтобы защитить свой код от незаконных действий (таких как продажа кода независимо от лицензии), ваш единственный вариант — фактически разместить эти веб-сайты самостоятельно. Обфускаторы обеспечивают некоторую защиту (т.е. замедляют процесс декодирования вашего кода), но все же ваше программное обеспечение будет защищено не от перепродажи, а только от нежелательных правок!

person Luca B.    schedule 20.08.2014
comment
Лучшее решение для предотвращения перепродажи, которое я видел, заключалось в том, чтобы поместить куда-нибудь странный текстовый файл, содержащий номер версии, если код когда-либо будет скопирован на другой сервер, он не найдет номер версии и сможет выдать ошибку с запросом чтобы вы могли связаться со службой поддержки. Опять же, не идеальное решение, как только кто-то либо деобфускирует код, либо просто наблюдает за доступом к файловой системе, становится очевидным, как решить проблему. - person scragar; 20.08.2014

Как вы упомянули, запутывание не является надежным. Таким образом, ваши единственные варианты — лицензирование. Убедитесь, что вы распространяете программное обеспечение с правильной лицензией, клиенты подписывают с вами соглашение, когда вы продаете им сайт. Они связаны лицензией, и если вы обнаружите, что они ее нарушают, у вас будет дело. По моему опыту, немногие компании захотят взять этот код и начать его расширять или изменять, и если они купили программное обеспечение для целей своего бизнеса, то вхождение в бизнес по разработке программного обеспечения — это совершенно новое направление.

Как упомянул Лука, ваш единственный верный способ — это разместить сервис самостоятельно, и тогда клиенты никогда не получат код. К сожалению, вы несете расходы на инфраструктуру, поэтому ваша модель лицензирования должна измениться соответствующим образом.

Еще один вариант — предложить две разные лицензии, взимая плату с тех, кто хочет изменить ее заранее, с пониманием того, что они не распространяют ее в лицензионном соглашении.

person tbddeveloper    schedule 20.08.2014

У меня та же проблема, и благодаря @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", если не найдет, выведет предупреждающее сообщение, например

Весь ваш сайт принадлежит мне. Убедитесь, что эта строка «Designed by Foo Bar» включена в footer.php.

Также, если вы хотите добавить ссылку в свою цитату, вам просто нужно заменить preg_match() на это (кредит принадлежит @Rizier123)

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

Я думаю, что это поможет другим, которые дни и ночи работают над программированием. Народы должны уважать авторские права.

person TaghaBoy    schedule 24.05.2015