Реклама:

Защитим страницу паролем

В ряде случаев возникает необходимость запретить доступ к какому-либо разделу вашего сайта неавторизованным пользователям, то есть лицам, не знающим соответствующий пароль. Традиционный алгоритм установки пароля на web-страницу подразумевает использование подключенного к обычной форме CGI-скрипта, управляющего процедурой передачи данных в момент нажатия пользователем кнопки Отправить и осуществляющего процесс авторизации.

ПРИМЕЧАНИЕ Авторизацией называется процедура проверки введенного пользователем в какую-либо интерактивную форму пароля или сочетания логического идентификационного имени и пароля на подлинность.

Очевидно, что применение такого метода на практике неизбежно связано с необходимостью размещения сценариев CGI в специальной серверной директории и запуска программ на удаленном узле, что требует как минимум наличия у васправ администратора. Альтернативным путем, не вызывающим необходимости вступать в переговоры с владельцами сервера, предоставляющего вам web-xoc-тинг, для получения у них разрешения на использование технологии CGI, является простая защита вашего сайта от несанкционированного доступа посредством применения JavaScript.

Общий механизм такой защиты действует следующим образом. В одной из директорий вашего сайта с условным названием private создается независимый раздел, содержимое которого и будет составлять вашу защищенную зону. В другой папке с условным названием access содержится пустой html-документ, имя которого совпадает с придуманным вами паролем, а заголовок <HEAD> содержит МЕТА-определитель, осуществляющий автоматическую переадресацию(редирект) броузера на стартовую страницу защищенной зоны. Постараюсь пояснить изложенную здесь методику чуть подробнее. Если, например, стартовый документ закрытого паролем раздела сохранен в файле с именем getting.html, асам пароль представляет собой следующую последовательность цифр и символов: xQ17kDFr4ty, то файл, хранящийся в папке access, должен будет называться xQ17kDFr4ty.html и содержать в заголовке директиву <МЕТА HTTP-EQUIV="Refresh". CONTENT="10: URL=. ./private/getting.html">. Теперь вам осталось только разместить на web-странице, с которой осуществляется доступ в закрытый раздел, содержащую JavaScript форму с предложением ввести в ее текстовое поле пароль. После нажатия на кнопку Отправить JavaScript автоматически добавит вконец заданной пользователем символьной последовательности расширение .html и переадресует броузер к web-странице с получившимся названием, которая, в свою очередь, переадресует его к стартовому документу защищенной зоны. Очевидно, что такой алгоритм позволяет размещать в папке access неограниченное количество страниц с именами, соответствующими различным паролям, благодаря чему вы можете менять число и состав посетителей, имеющих доступ к закрытому разделу.

Следует отметить, что разработка такой элементарной защиты имеет смысл лишь в том случае, когда в настройках web-сервера, предоставляющего вам хостинг, установлена функция отображения файла not_found.html с сообщением об ошибке, если пользователь пытается загрузить страницу с неправильным именем или отсутствующий на сервере документ. Если данная функция отключена, сервер продемонстрирует в рабочем окне броузера список всех файлов, имеющихся в данном разделе его диска, причем каждый из них пользователь сможет открыть по собственному желанию. Администрация многих узлов, предоставляющих бесплатный web-хостинг, понимает, что содержимое пользовательских директорий может являться информацией сугубо конфиденциальной, и потому запрещает посетителям доступ к списку файлов, составляющих сайты своих клиентов.

Очевидно также, что существует элементарный способ обойти такую несложную защиту: достаточно узнать у имеющих доступ к закрытой зоне вашего ресурса пользователей имя ее стартового файла и название директории, в которой он размещается. Выход из этой ситуации может быть только один: почаще меняйте пароли и название стартового документа защищенного раздела. А теперь самое главное — код интерактивной формы, которая позволит пользователям осуществить переход в защищенную зону вашего ресурса:

<FORM NAME="access1">

Пожалуйста, введите пароль:

<INPUT NAME="passwd" TYPE="password">

<INPUT TYPE="button" VALUE="Отправить"

onclick=(window. location. href=document. accessl. passwd value +" html")>

</FORM>


Яндекс цитирования Rambler's Top100 liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Сайт создан в системе uCoz