Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Предметом нашего обсуждения будет одна HTML-страница либо несколько взаимосвязанных HTML-страниц и JavaScript-файлов, подключаемых тегом:
<script language="JavaScript" src="..."></script>
Вместе этот блок файлов мы будем называть веб-приложением.
Наша цель – защитить HTML- и JavaScript-код веб-приложения настолько хорошо, чтобы стоимость его взлома была существенно выше стоимости разработки эквивалентного веб-приложения. Под взломом подразумевается получение всех исходных текстов с пониманием логики их работы, с тем чтобы создать аналогичный либо совершенно другой продукт, пользуясь украденными фрагментами HTML- и JavaScript-кода.
Мы исходим из того, что в распоряжении потенциального взломщика имеются любые программные средства, которые уже существуют или могут быть в принципе разработаны. Например, взломщиком может быть программист компании Microsoft, располагающий полным исходным текстом самого популярного браузера Internet Explorer. Такой программист вполне может чуть-чуть «подправить» браузер с тем, чтобы любой HTML- или JavaScript-код, который браузеру приходится интерпретировать, автоматически сохранялся в протоколе на диске. (Недооценка подобных возможностей взломщика-профессионала – одна из самых типичных ошибок новичков, пытающихся защитить свои страницы.)
Мы также предполагаем, что взломщик и «законный» посетитель находятся в равных условиях. В частности, если для начала работы «законный» посетитель вводит какие-то пароли, то предполагается, что взломщик знает все эти пароли.
Веб-приложение должно исполняться (визуализироваться и реагировать на действия пользователя) с помощью HTML- или JavaScript-кода, расположенного на компьютере клиента. В идеале пользователь должен иметь возможность отключиться от Интернета и работать с веб-приложением в режиме off-line, пользуясь копиями файлов приложения, которые браузер поместил в свой внутренний кэш. Данное требование можно немного ослабить: допустить небольшой обмен данными с сервером (скажем, для целей защиты). Но мы не рассматриваем ситуацию, когда весь нетривиальный код «прячется» банальным образом: интерпретируется полностью на сервере.
Дополнительное требование: веб-приложение должно корректно работать хотя бы в некоторых стандартных браузерах, скажем, Internet Explorer или Netscape.
«Несерьезные» приемы
Рассмотрим сначала небольшую коллекцию «несерьезных» приемов, к которым часто прибегают веб-программисты, пытаясь защитить свои страницы. Простейшие из этих приемов настолько наивны, что скорее поучительны в качестве примера, как делать не надо. Но лучшие из них вполне подойдут, чтобы организовать простейшую защиту от самых непрофессиональных или ленивых взломщиков. В отличие от серьезных методов защиты подобные «несерьезные» приемы почти ничего не стоят разработчику страниц.