Login et password dans l'URL

Résolu/Fermé
heliconius Messages postés 545 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 - 26 mars 2019 à 01:14
heliconius Messages postés 545 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 - 3 mars 2020 à 12:45
Bonsoir à tous et toutes,

Quand on accède avec un login/password à un espace de site web protégé par des fichiers .htaccess et .htpasswd, on peut procéder de deux manières :

1) soit dans la barre d'adresse du navigateur on tape l'URL de l'espace protégé et on renseigne les login et password dans la boite de dialogue qui est alors affichée,

2) soit on inclut directement le login et le mot de passe dans l'URL avec ce format :
http://login:password@www.lesite.fr


J'ai testé et il n'y a aucun problème avec Firefox ni avec Opera. Mais si on essaye cela avec Internet Explorer, celui-ci affiche que la page (recherchée) n'est pas disponible.

Ma question : Est-ce totalement rédhibitoire avec Internet Explorer ou est-ce seulement une question de configuration à faire sur ce navigateur car je n'ai pas trouvé où ?
(NB: Versions IE testées : IE v8.0 sous XP et IE sous Windows 10)

Merci pour votre aide et vos réponses.

Configuration: Dual boot: Windows XP Pro SP3 / Debian Linux

A voir également:

1 réponse

heliconius Messages postés 545 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 137
28 mars 2019 à 15:40
Bonjour,

Je repose ma question, au cas où...

J'ai un site avec de nombreux utilisateurs pouvant accéder à un espace membres protégé. Par principe, je ne veux pas utiliser de cookies. Pour protéger une partie de l'arborescence par un mot de passe sans utiliser de cookies de session, je ne connais que l'utilisation des fichiers .htaccess et .htpasswd

Je ne sais pas si l'utilisation de ces fichiers est la bonne solution quand il y a de nombreux utilisateurs car le fichier .htpasswd risque de comprendre plus de 30 à 40 lignes. J'ai donc eu l'idée de ne mettre dans ce fichier qu'une seule ligne :
membre:mot-de-passe
et dans une table de base de données, la liste des utilisateurs et leur mots de passe respectifs (chiffrés) dans les champs user, login, password.

Pour accéder, l'utilisateur tape SES login et password, le script recherche dans la table des utilisateurs l'enregistrement avec les login et password qui correspondent à ceux saisis et si c'est bon, on accède à la page avec une URL qui contient les login et password correspondant à ceux du fichier .htaccess

Le format de l'URL est le suivant :
http://login:password@lesite.fr
(c'est un standard du web)

Comme il apparait dans l'URL, pour éviter que le mot de passe soit facile à lire et mémoriser, j'ai pris un texte quelconque ("Membre_du_site") sur lequel j'ai appliqué une fonction de hachage SHA1 ce qui donne : e316172fe615d62a2c16b33857f28ebf45c98680 constituant le mot de passe d'accès à l'espace protégé puis, j'ai utilisé la fonction crypt() sur ce mot de passe afin de pouvoir écrire la ligne du fichier .htaccess à savoir :
membre:Mo068OjVTLNaI


Le script d'accès est le suivant :

<?php

/*
Base du mot de passe : Membre_du_site
SHA1/Mot de passe    : e316172fe615d62a2c16b33857f28ebf45c98680 = mdp de l'espace web
ligne dans .htpasswd : membre:Mo068OjVTLNaI
*/

// init.php : Connexion à la BDD
//          + fonction ExecRequete() qui retourne le résultat d'une requête
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/>
  Password: <input type="password" name="passwd" size="25"><br/>
  <input type="submit" name="submit" value="Accéder">
</form>
</body>

</html>

Il fonctionne très bien sous Mozilla Firefox (sous Windows XP et Windows 10), sous Opéra (mêmes versions) mais ne fonctionne pas avec Internet Explorer (ni Windows XP, ni Windows 10) qui affiche un message précisant que la page demandée n'existe pas (en fait, erreur 404).

Ma question : Est-ce un défaut de paramétrage de ce navigateur. Si oui, où le configurer ? Ça ne me surprendrait pas outre mesure, mais ça semblerait quand même inconcevable que Microsoft ne se conforme pas aux URL standards que les autres navigateurs respectent. Si IE est vraiment incapable de le faire, comment procéder sans utiliser de cookies ?

Merci pour votre aide.
0
heliconius Messages postés 545 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 137
10 avril 2019 à 16:43
Sujet clos. J'ai trouvé une autre solution.
1
macaurel59 > heliconius Messages postés 545 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023
20 févr. 2020 à 07:46
Bonjour, comment avez vous fait pour contourner ce problème ?
Merci à vous?
-1
heliconius Messages postés 545 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 23 juin 2023 137 > macaurel59
3 mars 2020 à 12:45
Par l'utilisation de sessions sur le serveur.
Le membre doit s'enregistrer (login et password crypté enregistrés dans une BDD).
A la connexion, on récupère le login, on crypte le password et on cherche ces deux infos dans la BDD. (je n'ai pas à connaître les passwords des membres)
Accès si correspondance. L'accès est autorisé à la zone protégée tant que le navigateur reste ouvert ou tant qu'il y a de l'activité dans les deux dernières heures. Si l'on ferme le navigateur ou s'il y a inactivité pendant deux heures, il faut se reconnecter.
Pour l'instant ça me va
0