|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.08.2010, 21:22 | #1 | |
Форумчанин
Регистрация: 27.07.2009
Сообщений: 547
|
Сделать код не рабочим, если его изменят
Доброго времени суток.
Как реализовать проверку целостности кода или иной способ, чтобы сделать php-код не рабочим если его изменят ? (в рамках одного php-документа) Цитата:
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.
|
|
21.08.2010, 21:33 | #2 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
есть вариант. но он не всегда рабочий. получить размер данного файла в байтах. если код изменили - размер файла изменился. условием проверить.
или посчитать кол-во символов в коде и записать как константу. изменили код - поменялось кол-во символов. ну это всё через if сделать можно |
22.08.2010, 03:26 | #3 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 209
|
если исходники доступны, то как ни защищай, а человек шарящий твою защиту "выкусит". есть правда интересные решения, когда кусок кода закладывается в gif-файл и, если проект достаточно массивный, то малоопытный человек может и не понять его назначения... а так, можно и размер файла проверять, и определенную последовательность символов в нем, и создать массивы проверочные, и с md5 поиграться, но все равно при наличии исходников на обход твоей защиты уйдет не больше времени, чем ты потратишь на ее создание.
Все генитальное просто.
Последний раз редактировалось kirosin; 22.08.2010 в 03:29. |
22.08.2010, 07:55 | #4 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Я лично для защиты пользуюсь следующим приёмом: удаляю все лишние пробелы, переходы на другую строку и комментарии. В итоге получается код-строка. Т.к. у меня стиль написания кода основан на простейших алгоритмах, то после такого удаления он становиться не читаемым.
|
22.08.2010, 10:37 | #5 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
кажись такой прием называется обструкция или обфукция ..... не помню
|
23.08.2010, 09:46 | #6 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Созданную вами проверку в первую очередь и вырежут, поэтому надо сразу решить а так ли это надо? Если да то:
1)В сам скрипт добавить проверку по хеш сумме файла скрипта. 2)Использовать в файле минимум стандартных функций(зачем будет написано ниже). 3)Добавить разноообразный мусор, так чтобы не было с первого взгляда понятно зачем он. 4)Сам код писать как можно более запутанно. 5)Как уже написал Виталий Желтяков, удалить все ненужные пробелы и все переводы строки. 6)Название всех, кроме нужных клиенту, функций и переменных изменить на несемантическую последовательность символов (например на разной длинны последовательности символа "_"), этим же будет скрыта и проверка наличия изменений. Соответственно чем меньше вы используете ф-ий имена, которых нельзя изменить тем более нечитаемый будет код. Если вам не лень всё это делать, то скорее всего ваш код не изменят... Правда смысл в таких извращениях бывает очень редко, тк если код связан, например с шифрованием, то на его разбор всё-таки потратят время... Если честно, я даже не могу представить такую ситуацию. Разве что скрыть код от любителей. Ну или использовать платный Zend Studio, который для оптимизации переводит исходники в транскрипт код, который изменить в редакторе уже не так то просто.
Стрелок-охотник
Последний раз редактировалось mv28jam; 23.08.2010 в 09:51. |
23.08.2010, 11:14 | #7 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
24.08.2010, 01:57 | #8 |
Заблокирован
Регистрация: 28.05.2010
Сообщений: 65
|
можно весь код пхп захешировать md5, и даже если изменить один символ на другой (количество байт неизменяется) - хеш будет менятся.
Сравнение полученного хеша и известного уже на момент создания и тестирования файла скрипта - вбить в условие if. Но опять же это не для сохранения авторского права. Последний раз редактировалось %$PROregRAMi$t%; 24.08.2010 в 01:59. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Принтер будет работать лучше если узнает что его ждет в случае .. | HellMercenariess | Компьютерное железо | 3 | 09.11.2009 09:59 |
Модернизировать код, сделать его быстрее | Rusl92 | Общие вопросы Delphi | 5 | 03.11.2008 19:23 |
Проверить существует ли путь и создать если его нет | hoba | PHP | 6 | 29.08.2008 14:40 |
Как получить изображение, если я знаю его хендл? | AidarBik | Win Api | 4 | 05.11.2007 15:54 |
Как изменить свойство объекта, если его имя находится в переменной? | Aiden | Компоненты Delphi | 1 | 13.09.2007 07:57 |