htaccess : personnaliser la connexion

Eléphant du PHP | 440 Messages

06 janv. 2010, 16:59

Bonjour,

avec htaccess, on obtient un defnêtre de connexion standard. Est-il possible de la personnaliser ?
De même, si de cette fenêtre, on clique sur annuler, on arrive sur une page standard "Unauthorized ..." ESt-il possible de la personnaliser ou de rediriger vers une autre page ?

Merci pour vos lumières.
Débutant complet en php/mysql. Merci pour votre aide.

ViPHP
ViPHP | 5462 Messages

06 janv. 2010, 17:04

ouai ca dois etre possible via cURL

Eléphant du PHP | 440 Messages

06 janv. 2010, 17:10

ouai ca dois etre possible via cURL
ah ... c'est quoi ?
Débutant complet en php/mysql. Merci pour votre aide.

ViPHP
ViPHP | 5462 Messages

06 janv. 2010, 17:15

cURL ca te permet de recuperer le contenu d'une page avec les options qu'un client traditionnel,
ce que tu fais , c'est un forumalaire login password, qui va pointer vers ton script curl, qui lui apelle la page en question en insérant le login password

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 janv. 2010, 17:19

la fenêtre de login affichée lors de la sécurisation par un .htaccess est gérée par le navigateur, pas par le serveur.
Donc, à moins qu'il s'agisse d'une faille de ma connaissance de la chose, les possibilités de modifications de cette fenêtre sont minimes. :?

Si tu veux une fenêtre plus personnalisée, je crains qu'il faille mettre en place un vrai système de login, c'est à dire un peu plus avancée que le .htaccess.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 5462 Messages

06 janv. 2010, 17:25

la fenêtre de login affichée lors de la sécurisation par un .htaccess est gérée par le navigateur, pas par le serveur.
Donc, à moins qu'il s'agisse d'une faille de ma connaissance de la chose, les possibilités de modifications de cette fenêtre sont minimes. :?
je crois même que c'est impossible de personnalisé ca, par contre on peu passé pas un script externe qui rempli les valeurs la ;)

Eléphant du PHP | 440 Messages

06 janv. 2010, 17:36

merci pour vos réponses.
Si c'est impossible, je vais me contenter de ce existe !!
Débutant complet en php/mysql. Merci pour votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 janv. 2010, 17:40

la fenêtre de login affichée lors de la sécurisation par un .htaccess est gérée par le navigateur, pas par le serveur.
Donc, à moins qu'il s'agisse d'une faille de ma connaissance de la chose, les possibilités de modifications de cette fenêtre sont minimes. :?
je crois même que c'est impossible de personnalisé ca, par contre on peu passé pas un script externe qui rempli les valeurs la ;)
Ca vaudrait le coup de creuser ;)
Il me semble avoir lu un jour que l'on pouvait changer le message affiché, le titre de la modalbox, mais ce n'est qu'un vague souvenir :-k

PS : bingo, en utilisant la directive "AuthName", il est possible d'agir sur ce qui est affiché. Toutefois, on reste dépendant du naviagateur.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 5462 Messages

06 janv. 2010, 17:43

ouai tu peux changer le message, ca se fait dans le htaccess

ViPHP
ViPHP | 5462 Messages

06 janv. 2010, 18:14

tien un petit exemple
<?php
	if(!empty($_POST))
	{
		$post =  (object) $_POST;
		
		$ch = curl_init('http://localhost/test/auth/index.php');
		curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
		curl_setopt($ch, CURLOPT_USERPWD, "$post->user:$post->password");
		$sess = curl_exec($ch);
		curl_close($ch);
		exit;
	}
?>
<form method="post" action="">
	<dl>
		<dt>Login</dt>
		<dd><input type="text" name="user" /></dd>
		<dt>Password</dt>
		<dd><input type="password" name="password" /></dd>
		<dd><button type="submit">login</button></dd>
	</dl>
</form>

ViPHP
AB
ViPHP | 5818 Messages

06 janv. 2010, 18:32

Oui j'utilisais ça y'a longtemps, mais je n'avais trouvé la solution que pour changer le message, effectivement.

Sinon dans mes souvenirs (ça doit faire plus de six ans... donc pas taper si je me trompe) il me semble que par défaut les mots de passe sont transmis en clair sur le web. Donc (si c'est toujours le cas) y'a un peu de code supplémentaire à ne pas oublier pour utiliser un hashage, sinon c'est pas vraiment prudent.
Et puis la technique du grain de sable n'est pas possible avec cette méthode, donc même hashé, choisir des mots de passe assez strong sinon il pourrait être assez facilement trouvé avec un dico de comparaison de hash.

Bon c'est sûr que pour aller vite, c'est un système rapide. Mais finalement je n'utilise plus cette méthode car les formulaires php peuvent être beaucoup plus sexy, plus évolutifs et même plus sécurisés si combinés à du JS.

Eléphant du PHP | 440 Messages

11 janv. 2010, 23:06

sur un forum, j'ai vu qu'en ajoutant

Code : Tout sélectionner

ErrorDocument 401 /Erreur_401.htm
au début du .htaccess il est possible de personnaliser la page d'erreur 401.

J'ai essayé. Ca ne marche pas.
ni avec /erreur_401.htm
ni avec ../erreur_401.htm
ni avec un chemin complet http://www........../erreur_401.htm

Pour info, htaccess, htpassword et erreur_401.php (en l'occurrence!) étaient dans le même répertoire.

Si vous avez des idées ... !!
Débutant complet en php/mysql. Merci pour votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

11 janv. 2010, 23:19

Les erreurs 401 doivent nécessairement faire référence à un fichier local, il ne faut donc pas passer d'url complète pour ce type d'erreur.

Si tu spécifies :

Code : Tout sélectionner

ErrorDocument 401 /erreur_401.htm
cela signifie que le document erreur_401.htm se trouve à la racine de ton site web. S'il est dans un autre répertoire (ex : monDossier), il faut spécifier le chemin depuis le DocumentRoot : /monDossier/erreur_401.htm :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 440 Messages

12 janv. 2010, 09:50

mon fichier se trouve dans un répertoire Membres, j'ai donc indiqué en première ligne du .htaccess
ErrorDocument 401 /Membres/Erreur_401.php

ça ne donne rien de mieux !
Débutant complet en php/mysql. Merci pour votre aide.

ViPHP
ViPHP | 5462 Messages

12 janv. 2010, 10:52

mon fichier se trouve dans un répertoire Membres, j'ai donc indiqué en première ligne du .htaccess
ErrorDocument 401 /Membres/Erreur_401.php

ça ne donne rien de mieux !
et

ErrorDocument 401 Membres/Erreur_401.php

ca donne quoi ?