Login y contraseña en la URL

Resuelto
heliconius Mensajes publicados 584 Estado Miembro -  
heliconius Mensajes publicados 584 Estado Miembro -
Buenas noches a todos y todas,

Cuando se accede a un espacio web protegido por archivos .htaccess y .htpasswd con un login/contraseña, se puede proceder de dos maneras:

1) ya sea que en la barra de direcciones del navegador se escriba la URL del espacio protegido y se ingresen el login y la contraseña en el cuadro de diálogo que se muestra,

2) o se incluya directamente el login y la contraseña en la URL con este formato:
http://login:password@www.lesite.fr


He probado y no hay ningún problema con Firefox ni con Opera. Pero si intentamos esto con Internet Explorer, este muestra que la página (solicitada) no está disponible.

Mi pregunta: ¿es esto totalmente prohibitivo con Internet Explorer o es solo una cuestión de configuración que hacer en este navegador, ya que no he encontrado dónde?
(NB: Versiones de IE probadas: IE v8.0 bajo XP y IE bajo Windows 10)

Gracias por su ayuda y respuestas.

Configuración: Dual boot: Windows XP Pro SP3 / Debian Linux

--
Un problema sin solución es un problema mal planteado. (Albert Einstein)

1 respuesta

heliconius Mensajes publicados 584 Estado Miembro 143
 
Hola,

Reformulo mi pregunta, por si acaso...

Tengo un sitio con numerosos usuarios que pueden acceder a un área de miembros protegida. Por principio, no quiero utilizar cookies. Para proteger una parte de la estructura con una contraseña sin utilizar cookies de sesión, solo conozco el uso de los archivos .htaccess y .htpasswd

No estoy seguro si el uso de estos archivos es la solución adecuada cuando hay muchos usuarios, ya que el archivo .htpasswd podría contener más de 30 a 40 líneas. Por lo tanto, se me ocurrió la idea de poner en este archivo solo una línea:
membre:mot-de-passe
y en una tabla de base de datos, la lista de usuarios y sus respectivas contraseñas (encriptadas) en los campos user, login, password.

Para acceder, el usuario ingresa SU login y su contraseña, el script busca en la tabla de usuarios el registro con los login y password que corresponden a los ingresados, y si es correcto, se accede a la página con una URL que contiene los login y password que corresponden a los del archivo .htaccess

El formato de la URL es el siguiente:
http://login:password@lositio.fr
(es un estándar de la web)

Como aparece en la URL, para evitar que la contraseña sea fácil de leer y memorizar, tomé un texto cualquiera ("Membre_du_site") sobre el que apliqué una función de hash SHA1, lo que da como resultado: e316172fe615d62a2c16b33857f28ebf45c98680, constituyendo la contraseña de acceso al área protegida, luego utilicé la función crypt() sobre esta contraseña para poder escribir la línea del archivo .htaccess, a saber:
membre:Mo068OjVTLNaI


El script de acceso es el siguiente:

<?php /* Base de la contraseña: Membre_du_site SHA1/Contraseña: e316172fe615d62a2c16b33857f28ebf45c98680 = contraseña del espacio web línea en .htpasswd: membre:Mo068OjVTLNaI */ // init.php : Conexión a la BBDD // + función ExecRequete() que devuelve el resultado de una consulta require("lib/init.php"); ?> <html> <head> </head> <body> <?php if($_POST["submit"]) { $salt = "MonSite"; $login = trim($_POST["login"]); $passwd = crypt(trim($_POST["passwd"]),$salt); $requete = "SELECT * FROM Users WHERE login='$login' AND passwd='$passwd';"; $resultat = ExecRequete($requete,$connexion); $r = mysql_fetch_object($resultat); if($r->passwd == $passwd) { header("location: http://membre:e316172fe615d62a2c16b33857f28ebf45c98680@monsite.fr/users"); } } ?> <form name="access" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> Login: <input type="text" name="login" size="25"><br/> Contraseña: <input type="password" name="passwd" size="25"><br/> <input type="submit" name="submit" value="Acceder"> </form> </body> </html> 

Funciona muy bien en Mozilla Firefox (en Windows XP y Windows 10), en Opera (mismas versiones), pero no funciona con Internet Explorer (ni en Windows XP ni en Windows 10) que muestra un mensaje indicando que la página solicitada no existe (de hecho, error 404).

Mi pregunta: ¿Es un defecto de configuración de este navegador? Si es así, ¿dónde configurarlo? No me sorprendería, pero tampoco parecería razonable que Microsoft no se ajuste a los estándares de URL que respetan otros navegadores. Si IE realmente es incapaz de hacerlo, ¿cómo proceder sin usar cookies?

Gracias por su ayuda.

--
Un problema sin solución es un problema mal planteado. (Albert Einstein)
0
heliconius Mensajes publicados 584 Estado Miembro 143
 
Tema cerrado. He encontrado otra solución.
1
macaurel59 > heliconius Mensajes publicados 584 Estado Miembro
 
Hola, ¿cómo lograron sortear este problema?
Gracias a ustedes.
-1
heliconius Mensajes publicados 584 Estado Miembro 143 > macaurel59
 
Mediante el uso de sesiones en el servidor.
El miembro debe registrarse (login y contraseña cifrada almacenada en una BDD).
Al iniciar sesión, se recupera el login, se cifra la contraseña y se buscan ambas informaciones en la BDD. (No tengo que conocer las contraseñas de los miembros)
Acceso si hay coincidencia. El acceso está autorizado a la zona protegida mientras el navegador permanezca abierto o mientras haya actividad en las últimas dos horas. Si se cierra el navegador o hay inactividad durante dos horas, se debe volver a iniciar sesión.
Por ahora, eso me parece bien.
0