URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4348
[ Назад ]

Исходное сообщение
"Запаролить доступ через .htaccess"

Отправлено Andrey Lutsenko , 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

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


Содержание

Сообщения в этом обсуждении
"Запаролить доступ через .htaccess"
Отправлено GD , 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
>
>Т.е. врде все сделал правильно, само собой - файлик с паролями был
>создан.
>И все равно при заходе на страничку пускает без запроса пароля.
>Куда еще копать?



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

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

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


"Запаролить доступ через .htaccess"
Отправлено Andrey Lutsenko , 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


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

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


"Запаролить доступ через .htaccess"
Отправлено seller , 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 отрабатывает (и перенаправляет) раньше, чем апач спросит парольку... но это так, просто предположение...