2011-01-24 15 views
21

Estoy construyendo una carga para que las personas que conozco puedan enviarme archivos de forma segura y con facilidad. Pero quiero diseñarlo de forma tal que cuando uno de mis amigos inicie sesión con su inicio de sesión (vaya a un inicio de sesión .htaccess), puedo establecerlo en PHP y registrar su archivo en una base de datos asociada a su cuenta .¿Usar PHP para detectar qué usuario de htaccess inició sesión?

En resumen, necesito PHP para poder detectar quién está registrado para poder pasar esos datos a una base de datos.

¿Hay alguna forma posible de hacerlo?

+2

'print_r ($ _ SERVER)' o phpinfo (32); cada vez que tenga una pregunta similar –

Respuesta

24

Usted debe ser capaz de obtener el nombre de usuario que el usuario iniciado sesión con la variable de $_SERVER['REMOTE_USER'] después de que hayan iniciado sesión correctamente.

+1

del manual de PHP: "A partir de PHP 4.3.0, para evitar que alguien escriba un script que revele la contraseña de una página que fue autenticada a través de un mecanismo externo tradicional, las variables PHP_AUTH no se debe establecer si la autenticación externa está habilitada para esa página en particular y el modo seguro está habilitado. Independientemente, REMOTE_USER se puede usar para identificar al usuario autenticado externamente. " Usamos '$ _SERVER ['REMOTE_USER']' en muchas de nuestras páginas y funciona. –

+0

Lo dice en la página que defiende 'PHP_AUTH_USER'. Agregué mis dos centavos sobre 'REMOTE_USER' ya que sería otra opción/cubrí los casos especiales de autenticación externa. Enlace: http://php.net/manual/en/features.http-auth.php –

+1

Marque con tiza una diferencia de documentación entre las dos páginas (ya que [esta página de documento no la tiene] (http: // php.net/manual/en/reserved.variables.server.php)) ... – ircmaxell

7

te gustaría $_SERVER['PHP_AUTH_USER'] y $_SERVER['PHP_AUTH_PW'] para recuperar el nombre de usuario y contraseña, asumiendo que significa un inicio de sesión normal de "autenticación básica", como se hace mediante las configuraciones Require valid-user en .htaccess.

más detalles here.

2

Puede leerlo desde $_SERVER['PHP_AUTH_USER']

1

Creo que las siguientes variables que dan la información Derise:

PHP_AUTH_USER: Al hacer la autenticación HTTP, esta variable se establece en el nombre de usuario proporcionado por el usuario.

PHP_AUTH_PW: Al realizar la autenticación HTTP, esta variable se configura con la contraseña proporcionada por el usuario.

echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>"; 
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>"; 
5

Algo que funcionó para mí:

$_SERVER['REDIRECT_REMOTE_USER'] 

intenta lo anterior. En general, uno puede hacer "print_r($_SERVER)" y buscar el parámetro que está buscando.

0

no abrir una tarea de edad, pero se ejecuta PHP 5 con Apache 2.2 y esta es la variable que funciona para mí:

$_SERVER['USER']; 
Cuestiones relacionadas