[RESOLU] Accès limité par mot de passe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Accès limité par mot de passe

Re: Accès limité par mot de passe

par lovvick » 21 août 2020, 17:27

Salut,

Perso, quand il s'agit de mot de passe pour filtrer qui vient (ou ne vient pas) sur une page d'administration, j'utilise les fichiers .htaccess et .htpasswrd à la racine du serveur.

Un bon exemple ici, sur Openclassroom : https://openclassrooms.com/fr/courses/9 ... n-htaccess

J'étais déjà tombé dessus au tout début. Je n'avais pas réussi à le faire fonctionner du premier coup. Mais je m'y serais confronté à nouveau si je n'avais pas réussi autrement. Merci de l'aide tout de même :pouce:

Re: Accès limité par mot de passe

par lovvick » 21 août 2020, 17:24

Après un header("Location:..."), il faut TOUJOURS mettre un exit; ou un die(); car si tu demandes une redirection au navigateur il ne faut pas lui renvoyer du code HTML ensuite.
Merci beaucoup, cette réponse m'a bien guidé dans mes recherches. J'ai pu me débloquer, d'autres choses n'allaient pas mais en y travaillant dessus, j'ai fini par résoudre les problèmes petit à petit.

Re: Accès limité par mot de passe

par ecumastor » 21 août 2020, 15:29

Salut,

Perso, quand il s'agit de mot de passe pour filtrer qui vient (ou ne vient pas) sur une page d'administration, j'utilise les fichiers .htaccess et .htpasswrd à la racine du serveur.

Un bon exemple ici, sur Openclassroom : https://openclassrooms.com/fr/courses/9 ... n-htaccess

Re: Accès limité par mot de passe

par @rthur » 20 août 2020, 16:20

Après un header("Location:..."), il faut TOUJOURS mettre un exit; ou un die(); car si tu demandes une redirection au navigateur il ne faut pas lui renvoyer du code HTML ensuite.

Re: Accès limité par mot de passe

par lovvick » 20 août 2020, 14:37

Non je n'ai pas mis de exit(). Il faudrait en mettre un ?
Pour l'instant, il me semble avoir fait en sorte que mon code amène sur la page accueil si le mdp est ok et reconduise sur la page MDP s'il n'est pas ok.

Re: Accès limité par mot de passe

par or 1 » 20 août 2020, 14:15

avec un
exit();
après le header ?

Accès limité par mot de passe

par lovvick » 20 août 2020, 13:53

Bonjour à tous,

Je me suis lancé en autodidacte et ai su jusqu'à présent me débrouiller mais là je me retrouve confronté à un mur.

J'ai voulu créer un formulaire demandant de rentrer un mot de passe, que je stocke dans un cookie, afin que les pages à accès restreint aient juste à vérifier si le cookie contient bien le bon mot de passe (et éviter à l'utilisateur de rentrer le mot de passe à chaque page). Ce que j'ai fait marchait très bien en local, sur Wampserver, mais quand je suis passé sur serveur là ça ne marche plus. D'où peut venir cette erreur ??? :-k :-k

Stockage du mot de passe quand l'utilisateur clique sur envoyer :
		if ($_SERVER["REQUEST_METHOD"]=="POST") {
			$mot_de_passe = test_input($_POST["mot_de_passe"]);
			setcookie("mdp", $mot_de_passe, time() + 3600, "/");
			if ($mot_de_passe ==  "abcd"){
				header("Location: Bag'Art - Accueil.php");
			}
			else{
				header("Location: Bag'Art - MDP.php");
			}
		}

		function test_input($data) {
			$data = trim($data);
			$data = stripslashes ($data);
			$data = htmlspecialchars($data);
			return $data;
		}
		
Formulaire de demande :
<form method="post"  action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
			<input type="password" name="mot_de_passe" required placeholder="Renseigner le mot de passe"> <input type="submit" name="Valider" value="Valider">
		</form>

Et vérification sur l'autre page si le cookie contient bien le mot de passe :
<?php
        if ($_COOKIE["mdp"] == "abcd") {   
    ?>

Message d'erreur sur la page hébergée quand j'envoie le mot de passe :

Warning: Cannot modify header information - headers already sent by (output started at /home/users/00/38/ec/home/www/Bag'Art - MDP.php:1) in /home/users/00/38/ec/home/www/Bag'Art - MDP.php on line 43

Warning: Cannot modify header information - headers already sent by (output started at /home/users/00/38/ec/home/www/Bag'Art - MDP.php:1) in /home/users/00/38/ec/home/www/Bag'Art - MDP.php on line 48



Je vous remercie grandement par avance :pouce: