The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Запаролить доступ через .htaccess"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Запаролить доступ через .htaccess"  
Сообщение от Andrey Lutsenko email on 11-Сен-06, 06:30 
Пытаюсь закрыть доступ к определенной директории через .htaccess - ничего не выходит, страничка открывается без запроса ввода пароля.
В httpd.conf:
AccessFileName .htaccess
Directory "/usr/local/www/blabla">
    Options Indexes FollowSymLinks ExecCGI
    AllowOverride All
    AuthType .htaccess
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
</Directory>

В директории /usr/local/www/blabla лежит файл .htaccess, в котором:
AuthType Basic
AuthName "Closed area"
AuthUserFile /usr/local/etc/webpass
Require user putin
<Limit GET POST>
require valid-user
</Limit>
RewriteBase /usr/local/www/blabla
RewriteRule ^.htaccess$ - [F]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]
RewriteEngine On

Т.е. врде все сделал правильно, само собой - файлик с паролями был создан.
И все равно при заходе на страничку пускает без запроса пароля.
Куда еще копать?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Запаролить доступ через .htaccess"  
Сообщение от GD on 11-Сен-06, 17:15 
>Пытаюсь закрыть доступ к определенной директории через .htaccess - ничего не выходит,
>страничка открывается без запроса ввода пароля.
>В httpd.conf:
>AccessFileName .htaccess
>Directory "/usr/local/www/blabla">
>    Options Indexes FollowSymLinks ExecCGI
>    AllowOverride All
>    AuthType .htaccess

это что?
http://httpd.apache.org/docs/1.3/mod/core.html#authtype

>    AllowOverride AuthConfig
>    Order allow,deny
>    Allow from all
></Directory>
>
>В директории /usr/local/www/blabla лежит файл .htaccess, в котором:
>AuthType Basic
>AuthName "Closed area"
>AuthUserFile /usr/local/etc/webpass
>Require user putin
><Limit GET POST>
>require valid-user
></Limit>
>RewriteBase /usr/local/www/blabla
>RewriteRule ^.htaccess$ - [F]
>RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R]
>RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]
>RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]
>RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]
>RewriteEngine On
>
>Т.е. врде все сделал правильно, само собой - файлик с паролями был
>создан.
>И все равно при заходе на страничку пускает без запроса пароля.
>Куда еще копать?


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Запаролить доступ через .htaccess"  
Сообщение от Andrey Lutsenko email on 12-Сен-06, 03:35 
>>    AuthType .htaccess
>
>это что?
>http://httpd.apache.org/docs/1.3/mod/core.html#authtype
>
Прошу прощения, когда печатал - опечатался. На самом деле в httpd.conf прописано
AccessFileName .htaccess
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Запаролить доступ через .htaccess"  
Сообщение от GD on 12-Сен-06, 13:01 
>>>    AuthType .htaccess
>>
>>это что?
>>http://httpd.apache.org/docs/1.3/mod/core.html#authtype
>>
>Прошу прощения, когда печатал - опечатался. На самом деле в httpd.conf прописано
>
>AccessFileName .htaccess

мдя, больше нигде не опечаталиьс? точно?
можно еще показать кусочек access_log-а в котором виден доступ к закрываемой папке

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Запаролить доступ через .htaccess"  
Сообщение от Andrey Lutsenko email on 13-Сен-06, 03:33 
>>>>    AuthType .htaccess
>>>
>>>это что?
>>>http://httpd.apache.org/docs/1.3/mod/core.html#authtype
>>>
>>Прошу прощения, когда печатал - опечатался. На самом деле в httpd.conf прописано
>>
>>AccessFileName .htaccess
>
>мдя, больше нигде не опечаталиьс? точно?
>можно еще показать кусочек access_log-а в котором виден доступ к закрываемой папке
>


Да нет там ничего криминального -
- - [13/Sep/2006:10:28:34 +1100] "GET /assa/themes/original/img/b_import.png HTTP/1.0" 200 310
- - [13/Sep/2006:10:28:34 +1100] "GET /assa/themes/original/img/s_lang.png HTTP/1.0" 200 422
- - [13/Sep/2006:10:28:34 +1100] "GET /assa/themes/original/img/s_theme.png HTTP/1.0" 200 737
- - [13/Sep/2006:10:28:34 +1100] "GET /assa/themes/original/img/s_warn.png HTTP/1.0" 200 261

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Запаролить доступ через .htaccess"  
Сообщение от sergei_vasilyev (ok) on 14-Сен-06, 17:51 
IMHO здесь собака порылась
><Limit GET POST>
>require valid-user
></Limit>

Попробуй убери Limit и оставь
require valid-user

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "Запаролить доступ через .htaccess"  
Сообщение от seller on 26-Сен-06, 11:24 
>В httpd.conf:
>AccessFileName .htaccess
>Directory "/usr/local/www/blabla">
^^ Первый символ д.б. "<" (допускаю, что опечатались)...
>    Options Indexes FollowSymLinks ExecCGI
>    AllowOverride All
>    AccessFileName .htaccess
у вас глобально такая опция уже стоит, зачем еще раз ее писать, запутаетесь потом...
>    AllowOverride AuthConfig
А зачем тогда AllowOverride All ранее? Что-нибудь одно оставьте...
>    Order allow,deny
>    Allow from all
></Directory>


>В директории /usr/local/www/blabla лежит файл .htaccess, в котором:
>AuthType Basic
>AuthName "Closed area"
>AuthUserFile /usr/local/etc/webpass

__________________________
>Require user putin
><Limit GET POST>
>require valid-user
></Limit>
______вместо этого блока оставьте require valid-user

>RewriteBase /usr/local/www/blabla
>RewriteRule ^.htaccess$ - [F]
>RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R]
>RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]
>RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]
>RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]
>RewriteEngine On


Да, до кучи еще заметка. В вашем httpd.conf есть
Directory "/usr/local/www/blabla">
    Options Indexes FollowSymLinks ExecCGI
а судя по правилам mod_rewrite в той директории лежат пхп-скрипты.
Для php опция ExecCGI не нужна. Нужна она только если у вас есть perl или c-программы в той папке, которые нужно запускать. Но лучше всего хранить их отдельно в папке, определенной как ScriptAlias, ну тот же cgi-bin (или обзовите как хотите). Это в плане безопасности... Да и в любом случае лучше не мешать котлеты с мухами, пусть все лежит там, где оно должно...


>Куда еще копать?

Если все равно не заработает, попробуйте временно отключить mod_rewrite для этой директории. Точно не скажу, а в книжку не посмотреть сейчас, но может mod_rewrite отрабатывает (и перенаправляет) раньше, чем апач спросит парольку... но это так, просто предположение...

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру