![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
ilyalyu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Вопрос - как программно привязать скрипт к домену?
Что уже имеется: имеется обфускатор, который маскирует код. Остается разбросать по скрипту вставки, проверяющие доменное имя на совпадение с тем, что было указано при покупке. Проблем в том, откуда вытащить доменное имя. Очевидно, если извлекать его из переменной $_SERVER["HTTP_HOST"] или любой другой переменной, то обмануть такую защиту будет проще простого - достаточно изменить значение переменной. Пока я вижу два варианта: 1. Самый лучший вариант, это если доменное имя присутствует в обрабатываемых данных. Но к сожалению это случается не всегда. 2. Использовать функцию getenv. Есть надежда, что обмануть эту функцию сложнее, чем заменить переменную, хотя полной уверености у меня нет. Подозреваю, что для эфективной защиты использования всего одного-двух методов недостаточно. Поэтому нужна ваша помощь. Это сообщение отредактировал(а) ilyalyu - 1.4.2009, 17:58 |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 1 Всего: 386 |
ilyalyu, подозреваю, что защищать скрипт (один файл?) от воровства не имеет смысла... Все равно он доводится до ума на месте.
Разве что можно повбивать констант, чтобы инклудились файлы только по одному конкретному месту и выводились ссылки только на один конкретный сайт. Тогда при переносе скрипта на другое место "злоумышленик" приобретет геморой, а вы потеряете еще одного клиента ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
ilyalyu |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
не понял почему один файл не имеет смысла защищать. если в этот файл запихать api, без которого все остальное не будет работать, то, по-моему, вполне даже стоит.
я так понимаю, вы предлагаете прописать абсолютные пути к файлам. этот способ не пройдет, т.к. клиент может переехать к другому хостеру (на другой компьютер) и у него все полетит. мне надо привязаться не к компьютеру (не к hardware) а именно к доменному имени.
то есть геморой должен возникать только при попытке переехать на другой домен, но никак не при переезде на другой компьютер. Это сообщение отредактировал(а) ilyalyu - 1.4.2009, 19:31 |
||||||
|
|||||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 2 Всего: 67 |
т.е. становка переменной заменится на полнотекстовй поиск и замену get_env yf my_get_env, которая будет возвращать "корректные" значения? Если вы хотите защищатся, то пользуйтесь чем-то вроде zend guard. Все остальное -- иллюзия защиты. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
ilyalyu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
я же писал - есть обфускатор. после него названий функций в явном виде не остается. насчет zend guard - что-то мне подсказывает, что (1) его использование ухудшит переносимость скрипта (portability), (2) для него существуют стандартные ломалки, (3) в нем отсутствует механизм привязки именно к домену (а не к hardware), (4) он стоит денюшек. |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 0 Всего: 140 |
А он всем известный? если да то пиши свой, на 100% ты все равно свой проект не когда не защитишь (главное доставить больше неудобств взломщикам, чтобы затраты были выше чем достигнутая цель, то бишь твой скрипт) -------------------- Amazing ![]() |
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 2 Всего: 60 |
web приложения написанные на php не имет смысла скрывать код если ваш продукт юридический защищен.
1 думаю попавшийся сайт на ломаном продукте можо легко узнать по его регистрационным данным домена, если это бесплатный то пишите письмо сперва им если неотвечают то в их сапорд, что так и так, такие то такие, нарушают ваше лицензионное соглашение и ваше требования, чтобы они предупредили или отключили домент это правело действует и на платных тоже... 2 Создовай уникальные ключи по которым ты будешь отслеживать клиентов даже лучше создать базу. Если клиент начинает обновление то он передает ключ и название домена впринципе будет видно откуда запрос пришел. проверяем действительный ли ключ? если такого по всей бд нет, то это ломаный продукт. Если ты подумаешь а почему бы не отсылать в определенное время специальный запрос с их сайта, то ты нарушаешь их прова, все отправки с их сайта на твой грубо говоря, должны быть согласованны, чтобы пользователь знал какая информация передается. 4 как защитить свой продукт на форуме обсуждалось не раз. 5 Зендят обычно демо или какойто специфический скрипт но невкоем случаи cms итд такого жанра продукт. Вопрос к тебе если ты собираешьсяскрывать код, то как купленный товар можно будет изменить вплане разрободчика вот ему нужно разроботать систему и привезать к твоей он будет искать разкодировшик или обращятся к тебе. Мое мнение купил клиент продукт путь, что хочет с ним делает. Главное чтобы он не нарушал твои прова оговоренные в лицензии.
с этими словами я стобой согласен на все 100%. Добавлю от себя главное себе неудобств в такой задачи не доставить. Вроде все написал, теперь можете кидаться тапочками ![]() -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
ilyalyu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
вопрос заключался в том как привязаться к домену, а не в том стоит ли защищать код на php или нет. если есть идеи, пожалуйста, напишите.
|
|||
|
||||
solenko |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 2 Всего: 67 |
Т.е. имена стандартных функций вы тоже меняете? ![]() 1 -- да 2 -- ну попробуйте бысто найти для зенда и ионкуба. Они, кстати, тоже денег стоят 3 -- существует 4 -- ну вы же написали нечто такое что стоит защищать, а значит имеющее комерческую ценность и покупка гуарда лишь немного снизит прибыли. )
Почему? -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||
|
|||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 2 Всего: 60 |
Вот допустим такая ситуация ты покупаешь cms неважно какую и она за зендина тебе необходимо прикрутить к такой cms свою систему что ты будешь делать раззендивать? я лично нет. Мнебы не хотелось через попу подладить к такой системе. Я лично не волнуюсь о краже кода и подделки лицензии. уже наверное как пол года один пишу cms пока еще показать не могу только если скринами или видео(в личку если что пишите) и о защите лицензии не беспокоюсь, буду регистрировать свой интеллектуальный продукт, и путь использую незаконно это увеличит только популярность продукта, ну если найду то высажу свои кровные денежки. -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
т.е. разработчики CMS будут такими тупыми, что не предусмотрять ни возможности подключения самописных плагинов, ни предоставять интерфейс для интеграции с другими продуктами? Если да, то зачем тогда у таких "дальновидных" людей покупать продукт? Ведь и продукт наверняка будет соответствующего качества! |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Лучшая защита - это осознание того, что твой код нахрен никому не нужен.
Особенно поражает, что свой код считают мегауникальным и всем меганужным люди, котороые даже не осилили поиск: такую тему на каждом тематическом форуме раз в месяц задают. |
|||
|
||||
ilyalyu |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
nerezus, если данную тему поднимают каждый месяц, сделайте доброе дело - опишите несколько методов привязки к домену или дайте ссылку. ведь вы же осилили данную тему и уже знаете, что в ней обсуждаются методы привязки к домену, а не методы оценки мегауникальности скриптов, написанных автором темы.
посмотрите вот эту страничку http://www.php.net/manual/ru/functions.var...e-functions.php . возможно, появятся идеи, как можно скрыть имена стандартных функций. я готов обсуждать методы обфускации кода на php, но в данный момент меня интересует другой вопрос. Это сообщение отредактировал(а) ilyalyu - 4.4.2009, 21:17 |
||||
|
|||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
И это звучит в каждой такой теме. |
|||
|
||||
xZ0RGx |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 5.6.2009 Репутация: нет Всего: нет |
Хотя тема несколько и устарела. Все равно отвечу.
Отвечу по существу. Без критики или одобрения. По-моему самый правильный вариант. Есть вопрос - надо дать ответ. Человек спрашивает как защитить? Он не спрашивает стоит это делать или нет. Посмотрите в сторону ionCube например. Он не так просто ломается, как zend. В паблике декодера нет, поговаривают, что есть в привате у китайцев, но все же то уже лучше чем зенд. Можете посмотреть про nuCoder еще. И вообще погуглите. ![]() |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
По факту же это ему не нужно и мы помогали, открывая на это глаза. |
|||
|
||||
eXed |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.7.2007 Репутация: 1 Всего: 1 |
в PHP существует такая хорошая штука, как $$var, eval, ну и ряд функций кодирования/декодирования.
ну и собственно поиск по файлам тут ничего не даст. Примерно таким способом построена защита копирайта в Invision Power Board® 1.x Долго искал, но нашел, красиво придумали ![]() P.S. Не ломал, лицензию не нарушал!!! Стандартная надпись дизайн малость портила, пришлось править. ![]() |
|||
|
||||
SneG0K |
|
|||
![]() Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: нет Всего: 54 |
||||
|
||||
eXed |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.7.2007 Репутация: 1 Всего: 1 |
Малость не по теме, но рискну описать используемый мной бесплатный способ защиты, зенды/ионкубы отдыхают за свою стоимость
![]() Для защиты скрипта от просмотра в попытках найти его защиту можно использовать такой примитивный метод:
После обработки файлов в несколько тысяч строк данной функцией ни один редактор не справляется с просмотром - некоторые либо дико тормозят, либо стреляются. "Улучшаторы кода" вообще не понимают что делать. Тут даже шифровать ничего не требуется и так черт ногу сломит ![]() Да и на скорости выполнения скрипта отражается только положительно, интерпретатору в данном случае не приходится лишних данных обрабатывать. Еще можно попробовать запихать все файлы проекта в один, но тут нужно думать о коде чтобы переменные/функции не пересекались, все include убрать придется ... сложней задачка. |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Код восстановлен. |
|||
|
||||
eXed |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.7.2007 Репутация: 1 Всего: 1 |
nerezus, надо проверить, как-то не появлялось у меня желания открывать PHP код в VS ;-)
Установил VS.php раскраска есть, по строке без тормозов бегает, но ваша комбинация не робит :( Пробовал зажать все кнопки одновременно - код тоже не улучшился ![]() В любом случае, даже если код будет преобразован, кто в нем разберется без комментариев? p.s. меня один заказчик ждал без малого два года, скрипт на 4 файла, с комментариями. Я сначала давал обещания переделать, но не было времени и возможности оторваться от других проектов, в процессе переговоров интересовался - может другой кто возьмется, нет говорит - с кем беседовал сказали, что нужно все переписывать с нуля. Вывод: люди не хотят тратить время на ковыряние с чужим кодом, а если кто-то захочет значит ему за это очень хорошо заплатят. Если вы ваш код оцениваете в килобаксы, то тогда может и есть смысл строить забор, в противном случае я бы рекомендовал не паниковать и не тратить нервы почем зря. Лучше больше клиентов найти, чем думать, как от одного все защитить ![]() p.s.s. Еще в скрипты можно встраивать не защиту, а backdoors. Это сообщение отредактировал(а) eXed - 23.7.2009, 05:17 |
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 2 Всего: 67 |
А вот за это обычно больно-прибольно бьют по рукам. И правильно делают. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 2 Всего: 60 |
Кстати "backdoors" в продуктах запрещены это нарушение конфиденциальной информации пользователей, по судам не хотите бегать?
-------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
eXed |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.7.2007 Репутация: 1 Всего: 1 |
solenko, Sanchezzz, на этом я завершу размышления о защите - защититься можно слишком "хорошо" - репутация, дальнейшая работа пальцами (: +последствия - на первом месте!
Все зависит от правильно составленного договора. Привязка к домену или IP адресу самый понятный для обоих сторон пункт, который и используют известные продукты. Но если скрипт незаметно, без ведома заказчика, будет отправлять данные о своем окружении, свой серийный номер, домен, IP & etc. - это уже будет нарушением приватности. Конечно при условии, что заказчика не подписался под такими условиями лицензии/договора. ![]() |
|||
|
||||
nerezus |
|
||||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Код новичка уже может стоить килобаксы, при этом являясь продуктом схожим с продуктами пищеварения в силу затрат труда. Но он никому не нужен. Ровно как и код профи. Это заблуждение думать, что все хотят спереть твой код. |
||||||
|
|||||||
eXed |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.7.2007 Репутация: 1 Всего: 1 |
nerezus,
В твоем Аватаре столько несогласия внутри - сколько его в твоих сообщениях. Прошу прощения, что на ТЫ. |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Я займу сторону nerezus-а. Не вижу смысла так трепыхаться. Мне проще выпустить продукт со свободной лицензией, зарабатывая деньги исключительно на поддержке и адаптации под задачи заказчика, написание дополнительных модулей и тому подобное, чем устраивать геморрой себе и прочим людям. В нашей стране желание халявы неискоренимо и ничего с этим не поделаешь.
Если уж такой гигант как Mircosoft не может защитить свои продукты, что тогда можно говорить здесь и сейчас, особенно студентам-самоучкам, которые стряпают ###сайты сотнями для жидов заказчиков, которым жалко заплатить нормальные деньги за качественную работу. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
owlet |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 20.2.2007 Репутация: нет Всего: нет |
||||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
||||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |