![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
BuShaRt |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Сегодня наткнулся на интересное творение, так называемую PHP Defender. Суть программы в придане коду некоторой запутаности, а именно, как утверждают разработчики:
Хотелось бы выслушать ваше мнение, а стоит ли игра свеч, для чего приведу пример кода: До:
После:
|
||||||
|
|||||||
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: -6 Всего: нет |
BuShaRt,
Ну и для чего это надо ? Ах да я догадался утилита для ламеров которые сами не в состоянии написать безопастный код ![]() Смысла в этой утилите нет так как Нечитабельный код оценивается в 0 каким бы он полезным небыл! --------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Хрипа,
Хм, а ты можешь написать код защищенный от модификации третьими лицами? И любой код, защищенный от модификации нечитабелен ![]() |
|||
|
||||
Serkys |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
Надо попробовать.
Перед выкладкой заказчику на хостинг можно хотя бы так затруднить работу, если он меня кинет. Не кинет - нормальный код отдавать. Добавлено через 4 минуты и 5 секунд
Код она безопасным не делает, только предельно затрудняет его чтение и модификацию. |
|||
|
||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 24 Всего: 55 |
Абсолюбтно в этом не вижу смысла, т.к этот код при желании вполне можно разобрать, никакой смысловой нагрузки.
|
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Это называется Обфускация. А подобные программы соответственно обфускаторами (для PHP их в интернете полно).
На самом деле, имхо, на данный лучшая защита кода PHP - это именно обфускация. Лучше, чем Zend Encoder и IonCube, т.к. после них код возможно восстановить (хотя бы даже в теории, хотя на практике это тоже возможно) полностью включая имена переменных итп, после обфускатора, код автоматически привести в исходное состояние невозможно в принципе, а восстановление кода вручную потребует чрезмерно много усилий. Но тут есть и подводные камни, к примеру если используются магические методы типа __get(), изменяемые имена переменных $$var, функций $func() итп, то после обфускатора код может стать не рабочим, либо обфускатор не принесет сколько-нибудь полезного эффекта. Добавлено через 2 минуты и 31 секунду
В данном, простейшем примере - да. К тому же в этом примере не были заменены имена методов (вероятно потому-что они public). Но попробуйте разобрать сколько-нибудь большой проект. Услий на это уйдет в разы больше чем написать все с нуля. |
|||
|
||||
mikla |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 3.12.2006 Где: Витебск Репутация: нет Всего: нет |
Хорошая штука) лабы преподам сдавать )
--------------------
|
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
именно... код на килобайт 100 можно пол дня только разбивать на строки и проблемы проставлять... а переменные искать, так еще дольше... (даже если юзать Find&Replace)... Если уж говорить о безопастности, то в данном коде для пущий безопастности (в плане кидалова), можно добавить функцию замоудаления, вызываемую по определенному POST запросу.... я сомневаюсь, что эту функцию можно найти в таком коде... |
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
Ничего запутанного в том коде не увидел.
Ну убрал переносы, ну изменил название переменной - код все-равно читабелен. |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Причем способ не плох в плане борьбы с конкурентами... Я бы заказчику помохал ручкой, если бы мне он такой код на доработку дал
![]() ну или за дешифрацию, взял бы больш, чем за доработку... Добавлено через 1 минуту и 15 секунд WolfON, в данном случае код всего несколько байтовый, а если больше? там уже за переменными не уследишь... |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Так же в идеале изменение имен пользовательских классов, методов, функций, замена числовых констант на числа (да много чего еще можно перечислить). Еще в данном примере вы сначала прочитали исходный код и только затем код после обфускатора, согласитесь, это имеет очень большое значение. Легко разгадывать кроссворды заранее зная все ответы. Вы просто возьмите любой не знакомый вам проект, проведите его через обфускатор и только потом попробуйте разобраться в нем. |
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
sTa1kEr, я не читал оригинальный код
![]() в теме про то, как кодить не надо были примеры и позапутанней без всякого обфускатора ) |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
||||
|
||||
sTa1kEr |
|
||||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Т.е. вы предлагаете сразу писать так, что бы никто не понял? Тоже вариант ![]() Для наглядности, скрипт простейший из FCKEditor-а, но немножко посложнее (120 строк). Использовал простенький бесплатный обфускатор PHP Obfuscator.
|
||||
|
|||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Я думаю, как нечто для постоянной защиты не пройдет т.к. Replace быстро все поставит на свои месте...
Но вот,
+ По моему действенно, хотя не пробывал... ваше мнение? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |