PHP Détection de 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 : PHP Détection de mot de passe

Re: PHP Détection de mot de passe

par moogli » 14 mai 2014, 09:54

pour étayer les remarque sur la mise en forme :
http://a-pellegrini.developpez.com/tuto ... ing-style/ (par exemple).


@+

Re: PHP Détection de mot de passe

par sirakawa » 14 mai 2014, 08:16

Règles de débogage que tout prof digne de ce nom devrait enseigner
La cause de l'erreur est toujours antérieure à l'apparition de l'erreur ou à son signalement.
Quand une variable ne fait pas ce qu'on voudrait, il faut en afficher la valeur.
ainsi:
$mdp=$_post["password"];

if($mdp=="123"||$mdp=="234"||$mdp=="345")
deviendrait
$mdp=$_post["password"];
var_dump($mdp);
if($mdp=="123"||$mdp=="234"||$mdp=="345")
et la question serait de savoir pourquoi $mdp est vide.
Alors, si on ne comprend toujours pas:*
$mdp=$_post["password"];
var_dump($_post);
if($mdp=="123"||$mdp=="234"||$mdp=="345")
De plus, il serait bon de présenter le code toujours de la même façon:
<?php

$mdp=$_post["password"];

/*ici l'accolade est rejetée à la ligne, ce que je préfère*/
if($mdp=="123"||$mdp=="234"||$mdp=="345")
{
header('Location: blogdeflo.php'); //mais le code n'est pas indenté
}
else
{
session_start(); //indentation ? pourrait être mis sans dommage au début du fichier, même s'il ne sert pas dans tous les cas.
$_SESSION['nbconnect']=$_SESSION['nbconnect']+1; //indentation? A quel moment est créée la variable $_SESSION['nbconnect'] ?
         //ici l'accolade  est en bout de ligne : us²age courant; il faut choisir)
         if ($_SESSION['nbconnect']<=3) {
         header('Location: logindeflo.php');//indentation?
         }
         else {
         header('Location: http://www.google.com/');//indentation?
         }
}

?>

Re: PHP Détection de mot de passe

par telnes » 13 mai 2014, 17:08

hello
$mdp=$_post["password"];
=>
$mdp=$_POST["password"]; // en maj

PHP Détection de mot de passe

par Perlinkins » 13 mai 2014, 16:08

Bonjour,

Je suis actuellement confronté, je pense, à un problème de syntaxe sur un exercice de PHP.
L'objectif est de créer une page d'identification et, dans un premier temps, d'assurer une redirection en fonction de l'entrée du mot de passe. S'il est correct alors on arrive sur une page de blog, s'il est incorrect on est redirigé (à savoir qu'on a une consigne de plus où on peux autoriser trois entrée login/mot de passe avant la redirection, mais cet fonction semble bien fonctionner).

Je vous transmets mon code PHP chargé de gérer les différentes situations :
<?php

$mdp=$_post["password"];

if($mdp=="123"||$mdp=="234"||$mdp=="345")
{
header('Location: blogdeflo.php');
}
else
{
session_start();
$_SESSION['nbconnect']=$_SESSION['nbconnect']+1;

	if ($_SESSION['nbconnect']<=3) {
	header('Location: logindeflo.php');
	}
	else {
	header('Location: http://www.google.com/');
	}
}

?>
Je pense qu'il y a un soucis dans la première partie sensée autoriser l'entrée de l'utilisateur s'il entre les mots de passes 123, 234 ou 345. Car le résultat, quelque soit le mot de passe entré, est toujours la redirection (ou vers la page de connexion les 3 premières fois, ou vers Google au bout de la troisième tentative infructueuse).

Pourriez-vous m'éclairer sur la question ?

Merci d'avance.