![]() |
дайте скрип плиз..аутификации...ну типа заходишь на страницу...так окно такое вылезает...обычное виндовское...вводишь логин и пароль - страница открывается...!
вот пример ...про че я говорю ! http://www.coollinks.ru/subscribe/enter.php |
это надо файлы .htaccess и .htpasswd юзать.
|
Создать файло .htpasswd можно при помощи проги htpasswd.exe.. гугл тебе поможет..
ложим в защищаемую директорию .htaccess такого вида: Код:
Файло .htpasswd лучше закинуть поглубже - не доступной через WWW, и в эту же диру с .хтпассвд положить еще один .htaccess который все заблочит.. такого вида: Код:
|
В конфиге Апача есть настройка - которая запрещает выдавать .htaccess
.htpasswd юзеру <Files ~ "^.ht"> order allow,deny deny from all Satisfy all </Files> Убедись что она у тебя есть Кроме того ты должен разрешить использование .htaccess там, где лежат твои документы: <Directory /usr/local/apache/htdocs> ............... #было #AllowOverride None #стало AllowOverride AuthConfig ................ </Directory> Это позволит переопределять в .htaccess только те установки которые касаются авторизации - то что ты пропишешь в .htaccess как сказал null Добавлено: Если сделаешь как я советую, прописывать второй .htaccess не нужно - нужен только один в той директории которую хочешь защитить Добавлено: .htpasswd кладешь в ту же директорию |
Блин а у меня такой же скрипт был...но просто вставлялся в сам файл пхп...несколько срочек и никаких htpasswd и тд !
|
Мона конечно и на ПХП это написать, я так делал, правда, не на ПХП а на Перл ЦГИ, но ЛУЧШЕ делать средствами Апача. Так ГОРАЗДО надежней.
Для облегчения можешь скрипт написать, как отдельная программа (НЕ ИЗ-ПОД веб-сервера) а из под шелла запускаемый, который тебе пропишет нужные .htaccess и .htpasswd в нужных директориях. Ты же не хочешь, чтоб твой сайт кракнули?:-) |
ладно...как при помощи этих htшек сделать форму где вводятся лог и пасворд и как прикрепить их к этим файлам..если не трудно на клепайте пример и мне на мыло скинуть...помотрю..поучусь !
|
Запрос (стандартное окно) на ауторизацию будет выдаваться при первой попытке посетителя получить документы из защищенной директории.
|
Допустим у тебя есть защищенная директория /usr/local/apache/htdocs/sec_docs
Ты должен сделать так: 1) Создать в директории /usr/local/apache/htdocs/sec_docs файл .htpasswd (имя начинается с точки - это важно) с помощью утилиты htpasswd: $htpasswd -c /usr/local/apache/htdocs/sec_docs/.htpasswd user01 Adding password for user01. New password: ************* Re-type new passwd: ************* для ПЕРВОГО юзера (ключ -c означает стереть старый, если есть и создать новый .htpasswd) и $htpasswd /usr/local/apache/htdocs/sec_docs/.htpasswd user02 Adding password for user02. New password: ************* Re-type new passwd: ************* для второго и следующих юзеров. (ключ -c НЕ ИСПОЛЬЗУЕТСЯ) $htpasswd /usr/local/apache/htdocs/sec_docs/.htpasswd user01 Changing password for user01. New password: ************* Re-type new passwd: ************* позволяет поменять пароль юзера (user01 в нашем примере) (ключ -c НЕ ИСПОЛЬЗУЕТСЯ) В итоге получится текстовый файл .htpasswd такого вида: user01: DFG8cdhs84r74 user02: HJdsfi48567hsdi с ЗАШИФРОВАННЫМИ паролями 2) Создать в директории /usr/local/apache/htdocs/sec_docs файл .htaccess (имя начинается с точки - это важно!) простым редактором (например, vi) такого содержания: AuthType Basic AuthName "Secured documents" AuthUserFile "/usr/local/apache/htdocs/sec_docs/.htpasswd" Require valid-user (Вместо "Secured documents" можешь вставить свое название - это имя области авторизации) После этого при запросе любого документа из директории sec_docs или ниже, будет вылезать обычное окно авторизации, и если ЛЮБОЙ юзер введет ПРАВИЛЬНЫЕ имя и пароль, его пропустят, если имя или пароль будут неверные, он получит "Forbidden" (доступ запрещен) - что и требовалось доказать :) Там можно делать авторизацию по группам, можно указывать конкретные группы и юзеров - смотри доки по Apache, я привел самый простой вариант. Ты можешь сделать так, чтоб пускать только user01, а остальных не пускать, даже если логин и пароль будут правильны - для этого в .htaccess *вместо Require valid-user вставляешь Require user01 Учти, что хотя пароли в .htpasswd и зашифрованы - по сети они передаются открытым текстом. В большинстве случаев нестрашно, но если ты параноик:) укажи в .htaccess файле AuthType Digest вместо AuthType Basic, тогда пароли передаются в шифрованном виде, но Apache должен содержать в себе Digest-модуль, и что самое главное, этот метод поддерживают НЕ ВСЕ браузеры (подробнее смотри доки, т.к. я Digest'ом не пользовался) Пример под Linux, но в Винде все в принципе то же самое, если юзаешь Apache [s]Исправлено: Prisoner, 1:28 16-03-2004[/s] |
makctlt
Я думаю, даже убеждён, что Вам сюда, здесь простейшая и самая удобная авторизация, если стоит Apache+PHP http://www.protoplex.ru/cgi-bin/publish.pl?showid=131 |
vadimiron А это не создаст лазейки или даже дыры в защите? Я все же считаю, что использовать web - интерфейс для административных задач повышает уязвимость:-)
Добавлено: vadimiron К тому же этот скрипт надо вставлять в КАЖДЫЙ защищаемый документ (иногда конечно это то что надо), а .htpasswd && .htaccess защищают все дерево подкаталогов с корнем в заданном каталоге включительно:-) |
Конечно, во всём свои плюсы и минусы
Тот факт, что скрипт надо вставлять в каждый защищаемый документ, может быть даже очень удобным, тем более моржно вставлять инклудом, не обязательно писать на каждой странице А про лазейки в защите-оптимальной защиты всё равно нет, главное придерживатся стандартных правил по безопасности, например пароль не просто так сохранять, а шифровать, благо способов на это много, и т.д. и тогда скрипт будет очень сложно сломать Кстати мой способ считается довольно таки безопасным (по сравнению с обычными формами), так как нет форм, которые можно подделать и т.д. Но с другой стороны кто то может не любит это вылетающие окошко Впрочем решать самому программисту :) :) :) |
Время: 05:35. |
Время: 05:35.
© OSzone.net 2001-