Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Вопрос про скрипт ! (http://forum.oszone.net/showthread.php?t=31279)

hudognik86 07-03-2004 22:07 214493

дайте скрип плиз..аутификации...ну типа заходишь на страницу...так окно такое вылезает...обычное виндовское...вводишь логин и пароль - страница открывается...!
вот пример ...про че я говорю ! http://www.coollinks.ru/subscribe/enter.php

gurWin 08-03-2004 01:23 214494

это надо файлы .htaccess и .htpasswd юзать.

null 09-03-2004 06:23 214495

Создать файло .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:

Diesel 09-03-2004 14:27 214496

В конфиге Апача есть настройка - которая запрещает выдавать .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 214497

Блин а у меня такой же скрипт был...но просто вставлялся в сам файл пхп...несколько срочек и никаких htpasswd и тд !

Diesel 12-03-2004 17:26 214498

Мона конечно и на ПХП это написать, я так делал, правда, не на ПХП а на Перл ЦГИ, но ЛУЧШЕ делать средствами Апача. Так ГОРАЗДО надежней.
Для облегчения можешь скрипт написать, как отдельная программа (НЕ ИЗ-ПОД веб-сервера) а из под шелла запускаемый, который тебе пропишет нужные .htaccess и .htpasswd в нужных директориях. Ты же не хочешь, чтоб твой сайт кракнули?:-)

hudognik86 12-03-2004 17:43 214499

ладно...как при помощи этих htшек сделать форму где вводятся лог и пасворд и как прикрепить их к этим файлам..если не трудно на клепайте пример и мне на мыло скинуть...помотрю..поучусь !

Prisoner 12-03-2004 23:22 214500

Запрос (стандартное окно) на ауторизацию будет выдаваться при первой попытке посетителя получить документы из защищенной директории.

Diesel 15-03-2004 09:56 214501

Допустим у тебя есть защищенная директория /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]

vadimiron 15-03-2004 13:12 214502

makctlt

Я думаю, даже убеждён, что Вам сюда, здесь простейшая и самая удобная авторизация, если стоит Apache+PHP
http://www.protoplex.ru/cgi-bin/publish.pl?showid=131

Diesel 15-03-2004 15:45 214503

vadimiron А это не создаст лазейки или даже дыры в защите? Я все же считаю, что использовать web - интерфейс для административных задач повышает уязвимость:-)


Добавлено:

vadimiron К тому же этот скрипт надо вставлять в КАЖДЫЙ защищаемый документ (иногда конечно это то что надо), а .htpasswd && .htaccess защищают все дерево подкаталогов с корнем в заданном каталоге включительно:-)

vadimiron 15-03-2004 23:45 214504

Конечно, во всём свои плюсы и минусы
Тот факт, что скрипт надо вставлять в каждый защищаемый документ, может быть даже очень удобным, тем более моржно вставлять инклудом, не обязательно писать на каждой странице

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

Кстати мой способ считается довольно таки безопасным (по сравнению с обычными формами), так как нет форм, которые можно подделать и т.д.

Но с другой стороны кто то может не любит это вылетающие окошко

Впрочем решать самому программисту

:) :) :)


Время: 05:35.

Время: 05:35.
© OSzone.net 2001-