with php_auth_user example con autenticación _server php http-authentication

php_auth_user - http basic authentication header example



PHP_AUTH_USER no configurado? (7)

En los servidores de mi host, use $_SERVER[''REDIRECT_REMOTE_USER''] lugar de $_SERVER[''PHP_AUTH_USER'']

Por alguna razón, ninguno de los códigos dentro

if (isset($_SERVER[''PHP_AUTH_USER'']) && isset($_SERVER[''PHP_AUTH_PW''])) { // When the above is set, the code that is here will execute of course }

se está ejecutando para mí. Cuando ingreso el nombre de usuario y la contraseña correctos, aparece de nuevo el cuadro de solicitud para la autorización. ¿No se "establecerán" ambos campos si son correctos y presionaré Enter? Pero por alguna razón, ese no es el caso. ¿Qué puedo estar haciendo mal? Gracias.


En mi phpinfo () Sever API es CGI / Fast CGI. Así que resolví mi problema con la escritura siguiente en mi archivo .htaccess RewriteEngine on RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L]


Estoy usando Symfony 2.5.7 eunning en PHP-PFM + Apache 2.4 en Ubuntu 14.04. También tengo funcionando BASIC_AUTH. También necesito configurar correctamente Apache VirtualHost agregando:

SetEnvIf Authorization "(. *)" HTTP_AUTHORIZATION = $ 1

como también se menciona aquí https://.com/a/17490827/435956


Hay una "manera sensata" de utilizar HTTP Basic Auth en modo CGI PHP: en el uso de .htaccess

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

y en el uso de PHP

list($_SERVER[''PHP_AUTH_USER''], $_SERVER[''PHP_AUTH_PW'']) = explode('':'', base64_decode(substr($_SERVER[''HTTP_AUTHORIZATION''], 6)));


Pruebe $_SERVER[''REMOTE_USER''] . Esto funciona para mí en una instalación PHP 5.3 CGI + Apache.


Si se concede acceso de usuario dando nombre de usuario / contraseña en URL, compruebe si

AuthType Digest

tiene derecho en su configuración de VHost / Directorio / .htaccess.

Esto lo arregló para mi caso de uso.


prueba esto

<IfModule mod_rewrite.c> RewriteEngine on RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] </IfModule>

en su archivo .htaccess que tendrá que colocar en el directorio raíz

y entonces

list($_SERVER[''PHP_AUTH_USER''], $_SERVER[''PHP_AUTH_PW'']) = explode('':'' , base64_decode(substr($_SERVER[''HTTP_AUTHORIZATION''], 6)));

al comienzo de tus scripts php