Не работает HTTP-авторизация =( Из панели DirectAdmin или просто по урлу не пускает в phpmyadmin (не принимает логин/пароль).
Опции -pass-header HTTP_AUTHORIZATION -pass-header Authorization -pass-header Cookie что-то не помогают..

Какие идеи?..
Код: Выделить всё
# из httpd.conf
LoadModule fastcgi_module /usr/lib/apache/mod_fastcgi.so
User apache
Group apache
ServerAdmin admin@localhost
UseCanonicalName Off
DocumentRoot "/var/www/html"
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
SuexecUserGroup webapps webapps
Код: Выделить всё
# из fcgi.conf
<IfModule mod_fastcgi.c>
FastCgiConfig -singleThreshold 100 -autoUpdate -idle-timeout 90 -pass-header HTTP_AUTHORIZATION -pass-header Author
AddHandler php-fastcgi5 .php
#This tell php to launch php-fcgi wrapper when .php5 files are requested.
Action php-fastcgi5 /cgi-bin/php-fcgi
<Directory "/usr/local/php5-cgi/bin/">
AllowOverride None
Options ExecCGI -Includes -MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
<Files *.ini>
Order deny,allow
Deny from All
</Files>
</IfModule>
Код: Выделить всё
23:09 root ~> cat /var/www/cgi-bin/php-fcgi
#!/bin/sh
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /usr/local/php5-cgi/bin/php-cgi
яндекс! http://www.yandex.ru/yandsearch?text=HT ... +validuserOverseer писал(а):Apache2.2+PHP5(FastCGI)
Не работает HTTP-авторизация =( Из панели DirectAdmin или просто по урлу не пускает в phpmyadmin (не принимает логин/пароль). Какие идеи?..
Код: Выделить всё
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Текст, отправляемый в том случае,
если пользователь нажал кнопку Cancel';
echo "<pre>";
print_r($_SERVER);
echo "</pre>";
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>";
echo "\n\n<pre>";
print_r($_SERVER);
echo "</pre>";
}
?>
Вроде бы как все должно работать, а вот суко phpmyadmin не работает с авторизацией =(Hello 112233.
Вы ввели пароль 321.
Array
(
[ORIG_SCRIPT_NAME] => /cgi-bin/php-fcgi
[ORIG_PATH_TRANSLATED] => (путь к скрипту)
[ORIG_PATH_INFO] => /a.php
[ORIG_SCRIPT_FILENAME] => (путь)/public_html/cgi-bin/php-fcgi
[GATEWAY_INTERFACE] => CGI/1.1
[HTTP_AUTHORIZATION] => Basic MTEyMjMzOjMyMQ==
[REMOTE_ADDR] => 77.77.77.77
[QUERY_STRING] =>
[REMOTE_PORT] => 7777
[DOCUMENT_ROOT] => (путь)/public_html
[HTTP_USER_AGENT] => Mozilla/9.0
[SERVER_SIGNATURE] => Apache/mod_fastcgi
[HTTP_ACCEPT] => */*
[SCRIPT_FILENAME] => (путь)/public_html/test.php
[HTTP_HOST] => хост
[REDIRECT_HANDLER] => php-fastcgi5
[REQUEST_URI] => /test.php
[HTTP_UA_CPU] => x86
[SERVER_SOFTWARE] => Apache/mod_fastcgi
[HTTP_CONNECTION] => Keep-Alive
[PHP_FCGI_MAX_REQUESTS] => 5000
[HTTP_COOKIE] => PHPSESSID=c46fc65c890b8debed6042bc2bc11e03
[REDIRECT_URL] => /test.php
[PATH] => /usr/local/bin:/usr/bin:/bin
[HTTP_ACCEPT_LANGUAGE] => ru
[SERVER_PROTOCOL] => HTTP/1.1
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[REDIRECT_STATUS] => 200
[REQUEST_METHOD] => GET
[SERVER_ADMIN] => webmaster@хост
[SERVER_ADDR] => 11.11.11.11
[PHP_FCGI_CHILDREN] => 4
[PWD] => (путь)/public_html/cgi-bin
[SERVER_PORT] => 80
[SCRIPT_NAME] => /test.php
[SERVER_NAME] => хост
[PHP_SELF] => /test.php
[PHP_AUTH_USER] => 112233
[PHP_AUTH_PW] => 321
[REQUEST_TIME] => 1206093090
[argv] => Array
(
)
[argc] => 0
)
Данные для входа не верны. В доступе отказано.
Array
(
[SCRIPT_NAME] => /phpmyadmin/index.php
[ORIG_SCRIPT_NAME] => /cgi-bin/php-fcgi
[ORIG_PATH_TRANSLATED] => /var/www/html/phpMyAdmin/index.php
[ORIG_PATH_INFO] => /phpmyadmin/index.php
[SCRIPT_FILENAME] => /var/www/html/phpMyAdmin/index.php
[ORIG_SCRIPT_FILENAME] => /var/www/cgi-bin/php-fcgi
[GATEWAY_INTERFACE] => CGI/1.1
[HTTP_IF_MODIFIED_SINCE] => Sat, 08 Dec 2007 12:47:23 GMT
[REMOTE_ADDR] => 77.77.77.77
[QUERY_STRING] =>
[REMOTE_PORT] => 7777
[DOCUMENT_ROOT] => /var/www/html
[HTTP_USER_AGENT] => Mozilla
[SERVER_SIGNATURE] => Apache
[HTTP_ACCEPT] => */*
[HTTP_HOST] => 11.11.11.11
[REDIRECT_HANDLER] => php-fastcgi5
[REQUEST_URI] => /phpmyadmin/
[HTTP_UA_CPU] => x86
[SERVER_SOFTWARE] => Apache
[HTTP_CONNECTION] => Keep-Alive
[PHP_FCGI_MAX_REQUESTS] => 5000
[HTTP_COOKIE] => pmaCookieVer=4; phpMyAdmin=2u9zrAFhfCBRRuCWt6KJM6FVcY3
[REDIRECT_URL] => /phpmyadmin/index.php
[PATH] => /usr/local/bin:/usr/bin:/bin
[HTTP_ACCEPT_LANGUAGE] => ru
[SERVER_PROTOCOL] => HTTP/1.1
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[REDIRECT_STATUS] => 200
[REQUEST_METHOD] => GET
[SERVER_ADMIN] => webmaster@localhost
[SERVER_ADDR] => 77.77.77.77
[PHP_FCGI_CHILDREN] => 4
[PWD] => /var/www/cgi-bin
[SERVER_PORT] => 80
[SERVER_NAME] => 77.77.77.77
[PHP_SELF] => /phpmyadmin/index.php
[REQUEST_TIME] => 1206092730
[argv] => Array
(
)
[argc] => 0
)
у меня пашет на папке с pmaOverseer писал(а):Вроде бы как все должно работать, а вот суко phpmyadmin не работает с авторизацией =(
AuthType Basic
AuthName "Login, please"
AuthUserFile "/usr/www/pma/.htpasswd"
Require valid-user
lissyara писал(а):2 zg
вы спутали апачевую и пхп базовую...
Код: Выделить всё
Array
(
[AUTH_TYPE] => Basic
[CHARSET] => none
[CHARSET_DETERMINED_BY] => UserAgent
[CHARSET_HTTP_METHOD] => http://
[CHARSET_SERVER_NAME] => 127.0.0.1:80
[CHARSET_SERVER_PORT] => 80
[DOCUMENT_ROOT] => /
[HTTP_ACCEPT] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */*
[HTTP_ACCEPT_LANGUAGE] => ru
[HTTP_CONNECTION] => Keep-Alive
[HTTP_HOST] => xxxx
[HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
[PATH] => /sbin:/bin:/usr/sbin:/usr/bin
[REMOTE_ADDR] => xxxx
[REMOTE_PORT] => 1481
[REMOTE_USER] => user
[SCRIPT_FILENAME] => p.php
[SERVER_ADDR] =>
[SERVER_ADMIN] =>
[SERVER_NAME] =>
[SERVER_PORT] => 80
[SERVER_SIGNATURE] => Apache/1.3.34 Server at Port 80
[SERVER_SOFTWARE] => Apache/1.3.34 (Unix) PHP/4.4.4 mod_ssl/2.8.25 OpenSSL/0.9.7e-p1 rus/PL30.22
[SOURCE_CHARSET] => none
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /pma/p.php
[SCRIPT_NAME] => /pma/p.php
[PATH_TRANSLATED] => /***/p.php
[PHP_SELF] => /pma/p.php
[PHP_AUTH_USER] => user
[PHP_AUTH_PW] => *****
[argv] => Array
(
)
[argc] => 0
)
дак в этом и дело, вы сейчас ищете скрипт, а заблыли о том, что CGI и мод-пхп работают по-разному, CGI вообще не знает ни заголовки ни кто такой апач, ни как с ним работать?.... в режиме CGI глобальные массивы вообще не заполняются, кроме _SERVER, а он на половину. Вы хотите работать с CGI-скриптом как с обычным мод-пхп?... так не получится, максимум можно выдернуть переменную из окружения.lissyara писал(а):не с путал.
просто в одном случае заголовки принимает и передаёт тока апач, а во втором до php банально не все заголовки доходят.
Код: Выделить всё
14:06 root ~> cat .htaccess
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
а думать не пробовали? или хотя бы читать, что пишут?Overseer писал(а):такое впечатление, что заголовки не попадают в скрипт (а так и есть), но причину не могу понять..
zg писал(а):в режиме CGI глобальные массивы вообще не заполняются, кроме _SERVER, а он на половину. Вы хотите работать с CGI-скриптом как с обычным мод-пхп?... так не получится, максимум можно выдернуть переменную из окружения.
Рыть надо в сторону http://www.php.net/manual/ru/function.getenv.php
А вы пробовали думать, прежде, чем писать ответ? Или хотя бы читать предыдущие сообщения?zg писал(а):а думать не пробовали? или хотя бы читать, что пишут?Overseer писал(а):такое впечатление, что заголовки не попадают в скрипт (а так и есть), но причину не могу понять..
с кем не бываетOverseer писал(а):Вы же еще не дали НИ ОДНОГО толкового совета, только не в тему всех поучаете и пытаетесь куда-то ткнуть носом.
Код: Выделить всё
;error_reporting = E_ALL
; на
error_reporting = E_ALL & ~E_NOTICE