Показать полную графическую версию : Вопрос про скрипт !
hudognik86
07-03-2004, 22:07
дайте скрип плиз..аутификации...ну типа заходишь на страницу...так окно такое вылезает...обычное виндовское...вводишь логин и пароль - страница открывается...!
вот пример ...про че я говорю ! http://www.coollinks.ru/subscribe/enter.php
это надо файлы .htaccess и .htpasswd юзать.
Создать файло .htpasswd можно при помощи проги htpasswd.exe.. гугл тебе поможет..
ложим в защищаемую директорию .htaccess такого вида:
require valid-user
Authname "My Realm"
Authtype Basic
AuthUserFile "/home/yourlogin/.htpasswd"
My Realm - вместо него пиши что душе угодно..
Файло .htpasswd лучше закинуть поглубже - не доступной через WWW, и в эту же диру с .хтпассвд положить еще один .htaccess который все заблочит.. такого вида:
order deny,allow
deny from all
:type:
В конфиге Апача есть настройка - которая запрещает выдавать .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 кладешь в ту же директорию
hudognik86
09-03-2004, 16:01
Блин а у меня такой же скрипт был...но просто вставлялся в сам файл пхп...несколько срочек и никаких htpasswd и тд !
Мона конечно и на ПХП это написать, я так делал, правда, не на ПХП а на Перл ЦГИ, но ЛУЧШЕ делать средствами Апача. Так ГОРАЗДО надежней.
Для облегчения можешь скрипт написать, как отдельная программа (НЕ ИЗ-ПОД веб-сервера) а из под шелла запускаемый, который тебе пропишет нужные .htaccess и .htpasswd в нужных директориях. Ты же не хочешь, чтоб твой сайт кракнули?:-)
hudognik86
12-03-2004, 17:43
ладно...как при помощи этих htшек сделать форму где вводятся лог и пасворд и как прикрепить их к этим файлам..если не трудно на клепайте пример и мне на мыло скинуть...помотрю..поучусь !
Prisoner
12-03-2004, 23:22
Запрос (стандартное окно) на ауторизацию будет выдаваться при первой попытке посетителя получить документы из защищенной директории.
Допустим у тебя есть защищенная директория /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
Исправлено: Prisoner, 1:28 16-03-2004
vadimiron
15-03-2004, 13:12
makctlt
Я думаю, даже убеждён, что Вам сюда, здесь простейшая и самая удобная авторизация, если стоит Apache+PHP
http://www.protoplex.ru/cgi-bin/publish.pl?showid=131
vadimiron А это не создаст лазейки или даже дыры в защите? Я все же считаю, что использовать web - интерфейс для административных задач повышает уязвимость:-)
Добавлено:
vadimiron К тому же этот скрипт надо вставлять в КАЖДЫЙ защищаемый документ (иногда конечно это то что надо), а .htpasswd && .htaccess защищают все дерево подкаталогов с корнем в заданном каталоге включительно:-)
vadimiron
15-03-2004, 23:45
Конечно, во всём свои плюсы и минусы
Тот факт, что скрипт надо вставлять в каждый защищаемый документ, может быть даже очень удобным, тем более моржно вставлять инклудом, не обязательно писать на каждой странице
А про лазейки в защите-оптимальной защиты всё равно нет, главное придерживатся стандартных правил по безопасности, например пароль не просто так сохранять, а шифровать, благо способов на это много, и т.д. и тогда скрипт будет очень сложно сломать
Кстати мой способ считается довольно таки безопасным (по сравнению с обычными формами), так как нет форм, которые можно подделать и т.д.
Но с другой стороны кто то может не любит это вылетающие окошко
Впрочем решать самому программисту
:) :) :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.