Нужно запретить доступ до опледеленной страници для не зарегистрированных пользователей. Причем регистрировать пользователя буду я сам. А все енто дело нужно для прикрытия ссылок на файлы.
Ну или кто может лучший вариант предложит.
Закрытие файлов и директорий под пароль
В этой теме обсуждаем способы запароливания веб-страниц, файлов, директорий.
1. На сервере Apache для запароливания директорий и файлов используются специальные директивы, которые могут быть помещены в файлы .htaccess (или же в общий конфигурационный файл).
По скриптам для управления файлами .htaccess/.htpasswd/.htgroups см. эту тему.
По директивам файлов .htaccess см. эти темы:
* общие вопросы по .htaccess
* htacess: запароливание директорий
* .htaccess и страницы ошибки (ErrorDocument)
2. На IIS доступ к файлам регулируется средствами NTFS (само собой, для изменения прав доступа необходим доступ к файлам в качестве администратора сервера)
3. Ограничение доступа при помощи серверных языков программирования осуществляется по-разному
~ Примеры скриптов:
PHPPageProtect [PHP] — система защиты для отдельных страниц. Страницы защищаются добавлением строки кода на каждой странице. Админ-интерфейс позволяет добавлять/удалять пользователей, изменять пароли и смотреть логи.
PassWord script for Dummies [Perl] — примитивный скрипт на Perl
FastLogin [PHP] —клиентская часть-- md5.js + серверная на PHP
PASSWORD/PASSWRD2 [C++] — программы сверяют имя пользователя и пароль с записями в отдельном файле, если логин/пароль совпадают, открывается index.htm, если не совпадают — отображается "INVALID ENTRY" и заносятся в логи имя пользователя, пароль, время.
~ Коллекции скриптов:
http://www.hotscripts.com/Perl/Scripts_and_Programs/Security_Systems/
http://www.hotscripts.com/PHP/Scripts_and_Programs/User_Authentication/index.html
http://php.resourceindex.com/Complete_Scripts/User_Management/Password_Protection/
http://cgi.resourceindex.com/Programs_and_Scripts/Perl/Password_Protection/
4. При использовании клиентских технологий (Java, Flash, JavaScript, VBScript) основное правило -- пароль не должен присутствовать в коде в открытом виде, а должен использоваться по такому принципу:
{открыть страницу} пароль.html
иначе такая защита довольно легко взламывается
Простейший JavaScript:
Код: <script> function LogIn() { location.href="http://site.com/secure/"+document.login.pass.value+".html" } </script> <form name=login><input type=password name=pass><input type=button onClick="LogIn();" value="login"></form> |
Цитата: При желании можно ещё куки добавить, проверку referer'а на "защищенной" странице и т.п. Проблема: получается, что под пароль ставится только одна страница -- если кто-то из обладателей пароля запостит где-то или даст кому-то ссылки непосредственно на файлы, доступные на закачку с "запароленной" страницы-- файлы эти сможет скачать кто угодно. Кроме javascript'a можно ещё использовать flash или java для тех же целей, но в любом случае, в коде не должно быть пароля в явном виде, а также он не должен формироваться клиентским скриптом |
Более сложные варианты на JS:
http://javascript.internet.com/passwords/prompt.html
http://javascript.internet.com/passwords/multiple-users-prompt.html
http://javascript.internet.com/passwords/password-pro.html
http://javascript.internet.com/passwords/gatekeeper.html
Кроме того, можно шифровать код страниц, в т.ч. добавляя пароль на открытие страницы
Пример такого подхода: НУЖЕН ПРИМЕР !!!
5. Службы защиты паролем:
http://cgi.resourceindex.com/Remotely_Hosted/Password_Protection/
http://www.hotscripts.com/Remotely_Hosted/Password_Protection/index.html
Ссылки по теме:
Способы запароливания:
* FAQ по Apache
* Скрипты для управления .htaccess
* Защита содержимого сайта от скачивания менеджерами закачек
* Защита ссылок (antileech)
Темы по языкам программирования под web:
* PHP
* Perl
* JavaScript/JScript, VBScript, SSJS