Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита PHP скриптов от копирования 
:(
    Опции темы
taral
Дата 24.9.2009, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Имеется в виду сокрытие php кода от лишних глаз, а защита от запуска его на неразрешенных доменах
Тема навеяна вот этим топиком - http://habrahabr.ru/blogs/php/29301/
Для тех кто не перешел по ссылке опишу основную идею.
Код

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

Вопросов тут много. Пока вкратце опишу часть. Например хотелось бы совета в какой именно файл помещать проверку на лицензию (он то и будет шифроватся). Обычно шифруется ядро системы. Но я использую фраемворк и ядро шифровать глупо =) Хотелось бы совета чего такого можно вынести в тот скрипт что бы без него сайт работать не мог и понять что в нем было максимально сложно.
Каким образом определять что скрипт запущен на локальной машине. Можно определять по ip через $_SERVER["REMOTE_ADDR"]. Смотреть если ли 127 в нем. Но эту переменную можно переопределить. В принципе можно использовать getenv('REMOTE_ADDR') но тут тоже не уверен в надежности.
Ну и еще. Каждый раз проверять лицензию это уже слишком. Пока есть 2 варианта. Первый это создавать на сервере временный файл который проверяется сначала, а уже если он не прошел проверку, то смотреть все подробнее. Опять же взял идею с предоставленной ссылки. В файле хранится md5($domain.$secretword.date('Y-m-d')) Выходит что подменить этот файл не выйдет. Поскольку пользователь не знает $secretword. И использоватся он тоже не сможет позже date('Y-m-d').
Если на эти вопросы решения более менее есть, то на первый (про то что же лучше всего вынести в скрипт проверки помимо самой проверки на подлиность) очень расплывчато. Хочется как можно меньше но и надежно.
Сразу же предположим что исходный код того скрипта получить нельзя иначе вся защита не имеет смысла. Да и на сколько я знаю если использовать последний зенд то исходник узнать пока невозможно.
На этом спасибо за внимание. Надеюсь на поддержку и конструктивные идеи.
PM MAIL   Вверх
Simpliest
Дата 24.9.2009, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Слей исходники в несколько файлов и шифруй их.




--------------------
user posted image
PM   Вверх
taral
Дата 24.9.2009, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Спасибо за активность. Мне просто хочется сделать код максимально открытым. И еще не понимаю зачем склеивать исходники если можно зашифровать все те файлы не склеивая?
Идеальным решением для меня было бы так. 99% это открытый код. 1% это зашифрованый зендом файлик который и проверяет лицензию. Но без котогоро сайт работать не будет. Да и еще в нем находится такая информация которую восстановить будет максимально сложно. Вот я и думаю что же за такой 1% информации туда поместить.

Добавлено через 3 минуты и 15 секунд
Вот битрикс, phpshop, datalife. Код то у них открытый. А я не слышал про их взлом (где то правда слышал про обнуленные версии даталайфа, но в любом случае)
PM MAIL   Вверх
nerezus
Дата 24.9.2009, 00:57 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Самая лучшая защита - это осознание того, что твой код нахрен никому не нужен.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Simpliest
Дата 24.9.2009, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(taral @  24.9.2009,  00:20 Найти цитируемый пост)
Но без котогоро сайт работать не будет.

Это нереально.

Только в том случае если существенная часть логики базируется на этом файле - только тогда проще будет переписать код чем ломать его. (при условии что шифрованый скрипт не дешифруется никак)


--------------------
user posted image
PM   Вверх
taral
Дата 24.9.2009, 01:11 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Цитата

Самая лучшая защита - это осознание того, что твой код нахрен никому не нужен. 

Я ожидал что такая реакция будет. Вообще интересно откуда идут ее корни. И с чего вы взяли что мой код не нужен никому? Нехорошо просто так бросаться словами. Возможно это из за того что вы считаете плохим тоном заработок на веб разработке. Или считаете что лучше продать один раз но дорого чем много раз но дешево. И вообще интересная реакция славянского населения. Вот если ты спер что-то, тот же фильм и раздаешь бесплатно. Ты хороший человек. А если что-то сделал и пытаешься продавать то ты.. 
Добавлено @ 01:14
Цитата

Это нереально.

Только в том случае если существенная часть логики базируется на этом файле - только тогда проще будет переписать код чем ломать его. (при условии что шифрованый скрипт не дешифруется никак)

На счет того что скрипт не дешифруется. Да пусть это будет аксиомой. Так будет проще говорить по теме. А на счет существенной части логики. Сложно сказать. Я тоже пока не придумал что же можно туда всунуть. Может конфиги или еще что-то. Но есть хороший пример что так сделать можно. Тот же битрикс.

Это сообщение отредактировал(а) taral - 24.9.2009, 01:16
PM MAIL   Вверх
nerezus
Дата 24.9.2009, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

Возможно это из за того что вы считаете плохим тоном заработок на веб разработке. Или считаете что лучше продать один раз но дорого чем много раз но дешево. И вообще интересная реакция славянского населения. Вот если ты спер что-то, тот же фильм и раздаешь бесплатно. Ты хороший человек. А если что-то сделал и пытаешься продавать то ты.. 
  smile 
Что это значит?

Стоимость имеет продукт, а не код. Продавайте продукт "под определенного покупателя".
Или у вас сферический движок в вакууме?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
youri
Дата 24.9.2009, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Цитата(taral @  24.9.2009,  01:11 Найти цитируемый пост)
Нехорошо просто так бросаться словами. Возможно это из за того что вы считаете плохим тоном заработок на веб разработке. Или считаете что лучше продать один раз но дорого чем много раз но дешево. И вообще интересная реакция славянского населения. Вот если ты спер что-то, тот же фильм и раздаешь бесплатно. Ты хороший человек. А если что-то сделал и пытаешься продавать то ты.. 

тебя никто ни в чем не обвинял. Просто в большинстве случаев, на такие вопросы можно ответить: не льсти себе, подойди...
PM   Вверх
gcc
Дата 24.9.2009, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: -1
Всего: 17



zend?

можно диассемблировать

Это сообщение отредактировал(а) gcc - 24.9.2009, 01:43
PM WWW ICQ Skype GTalk Jabber   Вверх
taral
Дата 24.9.2009, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Цитата

 smile 
Что это значит?
Стоимость имеет продукт, а не код. Продавайте продукт "под определенного покупателя".
Или у вас сферический движок в вакууме? 

Возможно я вас не так понял. Тогда прошу прощения. Продавать продукт под определенного покупателя можно. Но покупатель раз. часто хочет попробовать что он покупает. И два часто эти самые покупатели любят выкладывать исходники которые они купили, в общий доступ. А другие покупатели любят этот код скачивать бесплатно. В любом случае если хочешь продавать систему многоразово, думай как ее защитить. На данный момент я сделал около 60% работы. И про защиту узнаю заранее. Поскольку считаю что лучше сначала послушать максимально большое количество мнений и решений, а потом так сказать с багажом приступать к работе. А вопрос о защите скрипта от копирования до этого момента не стоял. Вот и решил поднять этот вопрос. Тем более что информации по этой теме очень мало (я думаю что причина тут жестко связана с защитой).

Добавлено @ 01:44
Цитата

тебя никто ни в чем не обвинял. Просто в большинстве случаев, на такие вопросы можно ответить: не льсти себе, подойди... 

Ну я тоже его ни в чем не обвинял. Ладно давайте забудем этот момент. Я понимаю почему такая реакция могла быть. Предполагаю что такие вопросы задают восновном новички. Когда они только-только начали писать код и у них мания что он все нужен =)

Добавлено @ 01:46
Цитата

zend? можно диассемблировать

Вы имеете в визу получить исходник?

Это сообщение отредактировал(а) taral - 24.9.2009, 01:54
PM MAIL   Вверх
nerezus
Дата 24.9.2009, 01:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



taral, что у тебя за система, раз она не имеет бесплатных аналогов? Такое сложно придумать ;)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
gcc
Дата 24.9.2009, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: -1
Всего: 17



taral, 
1) айпи можно все таки поменять на сервере - сделать несколько логических сервером и там поставить айпи любой, а на выход чтобы был другой какой надо

2) я zend не интересовался, но время можно например поставить в php свое  - скорее всего в исходниках php, или php поставить на другой сервер и там время колибровать, а на другом СУБД с номральным временем   smile 

Цитата

На данный момент я сделал около 60% работы.


лучше сделать на 99% работы

Это сообщение отредактировал(а) gcc - 24.9.2009, 02:12
PM WWW ICQ Skype GTalk Jabber   Вверх
nerezus
Дата 24.9.2009, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

1) айпи можно все таки поменять на сервере - сделать несколько логических сервером и там поставить айпи любой, а на выход чтобы был другой какой надо
 Только вот гораздо проще купить скрипт, так что взлом неоправдан ;)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
taral
Дата 24.9.2009, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Очень жалко что мы опять отходим от темы.
Цитата

taral, что у тебя за система, раз она не имеет бесплатных аналогов? Такое сложно придумать ;) 

Честно говоря я не понимаю причем наличие бесплатных аналогов к защите кода. Возьмем например сферу интернет магазинов. Хоть и есть бесплатные аналоги в том числе мощнейший magento, это никак не мешает существованию phpShop, ShopScript, Битриксу и т.д. Тут все в рекламе и других штуках чем в бесплатности. Да и всегда можно найти свою нишу. Если бы всегда были бесплатные аналоги то фрилансерам было бы худо=)

Добавлено через 6 минут и 46 секунд
Цитата

лучше сделать на 99% работы
Ну совсем лучше сделать 100%=) Про защиту я решил узнать сейчас что бы был хороший запас времени все обдумать и найти лучшее решение. А времени еще предостаточно. Месяцев 7 будет.
Цитата

но время можно например поставить в php свое  - скорее всего в исходниках php

Слышал про такую возможность. Но даже если так это сильно урезает количество "потенциальных взломщиков" во первых еще нужно понять что там время хранится. По md5 это сложно понять=) Да и если кто-то и взломает ничего страшного. Мне не жаль. Я не хочу что бы после двух лет работы я видел свой скрипт (cms) на торентах. И что бы кто не попадя его качал. Основная задача срезать именно эту волну.
Цитата

1) айпи можно все таки поменять на сервере - сделать несколько логических сервером и там поставить айпи любой, а на выход чтобы был другой какой надо

Помойму для этого нужен свой сервак. А если это так, то на это можно забить. Эти люди в меньшинстве. Да и если они способны держать свой сервер, то не думаю что начнут использовать ворованное программное обеспечение.
PM MAIL   Вверх
nerezus
Дата 24.9.2009, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

Возьмем например сферу интернет магазинов. Хоть и есть бесплатные аналоги в том числе мощнейший magento, это никак не мешает существованию phpShop, ShopScript, Битриксу и т.д
 Воот. А почему? Поддержка.
А зачем нужен битрикс, если нет поддержки? Порции ###кода разгребать? )
Гораздо проще и удобнее юзать бесплатный вариант.

Цитата

Если бы всегда были бесплатные аналоги то фрилансерам было бы худо=)
 Фрилансеры берут на заточке продукта. Посмотри на сайте фрилансеров, сколько проектов делается на джумле|etc.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3156 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.