Проверка файла, или его части на целостность (защита контента)
Добрый день.
Сделал небольшое веб-приложение, состоящее из допустим 5-ти файлов: main.html (файл запуска ) - main.css (стили) - main.js (код приложения) - main2.js (еще код приложения) - main.dat (данные приложения) В принципе я МОГУ преобразовать эти 5-ть файлов в один работающий all.html (размером 2.5 Мб), если это будет необходимо. Вопрос в чём: Как максимально усложнить задачу его изменения и декомпиляции? Поясню. Компания №1 делает полезное веб-приложение со своими данными (контакт ,логотип, и т.д.). Компания №2 недолго думая скачивает все файлы, заменяет лого, контакты и т.д. Профит. Про обфускацию знаю, но не сильно она меня останавливает ("ООО Ромашка" не сильно обфусцируешь то). Возникла идея как-то считать хеш\контрольную сумму\целостность\ и т.д. данных (либо main.dat, либо единственного html файла, к которому я могу всё свести). Если данные не совпадают с контрольными - сюрприз. Да, да, проверку можно вырезать, но при обфускации это уже сложнее. Я не то что бы параноик ,просто интересно, есть ли какие-нибудь методики защиты веб-приложений? |
Сто процентной защиты конечно быть не может, идеологически. Надо комбинировать. Так чтобы уровень квалификации ворующего, мог быть только выше порога самостоятельной разработки.
"Если данные не совпадают с контрольными - сюрприз." Одна из моих фишек: при заходе на main.html ставится одноразовый ключ, который разрешает открыть один раз main.css. main.css обрабатываем как пхп. При попытке неестественного запроса, отдаем незначительно другой, с косяками. Все должно быть максимально нечитаемым. В main.css логируем неестественные запросы и анализируем. PS насколько это эффективно применительно к css не знаю |
Цитата:
Всё -таки интересна идея сделать что-нибудь с единым "all.html", например создать ему в помощь main.php, без которого all.html не запускался бы. Либо я пытаюсь изобрести вечный двигатель? |
Цитата:
Про css я просто пример привел, тоже самое можно проделывать с любыми файлами. Зависит от поведения браузеров, надо проверять. Когда лет 5 назад прятал так некоторые файлы, их можно было вытащить только из кэша оперы. Но перед этим надо было догадаться, что скачанный файл не совсем тот |
Попробую проще написать: если пользователь произвел определенные правильные действия, то ему отдается один файл, если нет или открыл файл напрямую, то по тому же урлу похожий с косяками
как то так: .htaccess: AddType application/x-httpd-php .xxx ------ main.xxx: if(условие совпадает) { $file = '1.xxx'; } else { $file = '2.xxx'; } header('Content-type: application/.....xxx......;'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Content-Length: '.filesize($file)); ob_clean(); flush(); readfile($file); exit; если нгикс, не забыть пропускать запрос на апач |
Часовой пояс GMT +3, время: 01:00. |