Захист PHP сценарію

Baco

Гуру форума
Регистрация
10 Мар 2013
Сообщения
134
Реакции
51
Доброго часу, камрадос, є такі умови:
0. без сторонніх модулів-енкодерів [ioncube, zend, etc...]
1. без обфускації (щоб не було мусорного коду-заплутування)
2. швидкодія не повинна бути меншою, ніж початкового коду
задача: уникнути можливості використання коду (запуску сценарію) на сторонньому домені, методом CTRL + C ... CTRL + V даних з каталогів
дано: константа CMS_ID: унікальний ідентифікатор (string) 32, Для просмотра ссылки Войди или Зарегистрируйся, під кожен домен, генерується на стороні сервера, перед початком завантаження архіву з CMS
___
цікавить алг. рішення, можливості нуллу і наскільки ресурсною буде можливість нулення (під нуленням, розуміється стан коду, котрий призводить до запуску сценаріїв на неавторизованому домені)

p.s. своє рішення, бачу у створенні, на серверній частині, генератору классів, котрий буде видозмінювати структуру namespace та className, по типу md5(CMS_ID . __CLASS__) => className, таким чином, отримується унікальний маппінг классів у контейнері, для використання під проект, де подальші міграції\оновлення, базуватимуться на цій же ж логіці, тим самим, якщо вийде оновлена версія по критичним багам, чи свіжа версія ліцензованого коду, то при єдиному зверненні по АРІ з адмінки користувача, отримається архів з кодом, прогенерованим саме під цей CMS_ID, вивантаження ж коду, буде проходити на домен, котрий прив'язано на момент генерації константи CMS_ID. проте, якщо підмінити (емулювати) CMS_ID на неавторизованому домені, то можна скопіпастити файлову структуру і таким чином, буде все функціонувати, окрім оновлення.
 
Последнее редактирование:
А яка мета? Відслудкувати хто злив чи недопустити використання на сторонньому домені?
 
дякую за цікавість, мета - створення середовища для виконання сценаріїв у контексті доменної зони, відслідковування то не є задачею, для сього у нас Для просмотра ссылки Войди или Зарегистрируйся-ми відпрацьовують :secret: виключно розуміння алгоритму, згідно котрого, ресурси на затрати по "нуллу" були б більшими, ніж отримати офіційно можливість користуватись кодом (тобто читабельність коду повинна бути, а от семантика взаємозв'язків між об'єктами - опціонально)

якщо писати мовою цифр, то для прикладу, є модуль\хук\лпагін... котрий автор продає за 90$, в модулі є 12 файлів, 8 з яких під іонкубом, розшифрувати можна зробивши складчину з охочих, або ж індивідуально на Для просмотра ссылки Войди или Зарегистрируйся за 10Э, тому сам автор не захищений ніяким чином від зливу, якщо закодив іон під домен, тому, якщо назбирується 10-ть охочих, всі скидуються по 10, то субівартість коду кожному виходить по 10$ (грубо пишучи), ну і прогресія, чим більше зацікавлених, тим менша ціна і залежить виключно від трафіку площадки складчини. звісно, усвідомлюючи, що пост стартанув на площадці, котра спеціалізовано займається саме такою специфікою, отримати відповідь на такий "ребус" буде малоймовірно, сам я також за "інформація повинна бути доступною", це врахується у "бізнесс-моделях" і партнерських угодах, проте авторський код, хочеться також захистити, оскільки на державному рівні у нас немає контролюючих органів для цього, особливо у андеграунді, тому доводиться своїми силами обумовлювати якусь "гарантію" авторам коду\фреймворку, та, з другої сторони, надавати умови користування лояльні всім охочим, забезпечуючи всіх одинаковими методами контролю версій, функціонування системи і оновлення при критичних фіксах.
 
Последнее редактирование:
если не кодировать, то остаётся только схема клиент-сервер.
Человек шлёт тебе на сервак данные, ты их обрабатываешь как тебе нужно и отдаёшь ему ответ готовый.
 
если не кодировать, то остаётся только схема клиент-сервер.
Человек шлёт тебе на сервак данные, ты их обрабатываешь как тебе нужно и отдаёшь ему ответ готовый.
розумію, що маєте на увазі реалізацію по методології АРІ, так, це буде реалізовано, але виключно технічні аспекти, щоб не навантажувати ні клієнтську частину, ні серверну. що по задачі мав на увазі:
Наприкладі, є CMS "Svitanok", якщо плануєте встановити у себе на хості, то для початку, потрібно отримати інсталляційний пакет, для цього потрібно ввести, як мінімум, адресу домену, в залежності від котрої, буде згенеровано CMS_ID, прописано у конфігураційний файл і надано повноцінним ZIP архівом, як інсталляційний пакет.
після встановлення CMS на хостингу, по зареєстрованому домену, буде надано весь спектр функціоналу, буз ніяких "закодованих" шматків коду, все чисто і прозоро, але на конкретний домен, і для прикладу, якщо версія Svitanok отримала мінорний інкремент по фіксу певних багів (пишеться на 8 версії), зокрема акцент на безпеці, то в адмін. панелі CMS, в певному блоці, котристувач отримає повідомлення, по типу "вийшло оновлення, натисніть, щоб підвищити безпеку", більше нічого, від кінцевого користувача не потрібно, там по АРІ, по ключу CMS_ID, буде ініційовано на стороні сервера звернення, і по адресі домену, буде надіслано архів з фіксами, для інтеграції.
 
Назад
Сверху