Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1807 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  mot de passe sans bdd

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mot de passe sans bdd

n°1963550
charlelech​auve
Posté le 06-02-2010 à 00:49:45  profilanswer
 

Bonsoir,  
 
je souhaite restreindre une partie de mon site avec un mot de passe unique en utilisant un simple login en php (je ne compte pas faire un niveau de sécurité "CIA"; si il est hacké ce n'est pas bien grave^^).
 
J'ai beau chercher de partout, à chaque fois que j'utilise un script, que le mot de pase soit bon ou erroné il m'autorise l'accès à la page en question.  
 
Voici ce que j'ai mis dans la page où l'on doit s'identifier :  
 

Code :
  1. <body>
  2. identification
  3. <form action="testmdp.php" methode="post" >
  4. <input type="text" name="motdepasse" />
  5. <input type="submit" value="envoyer" />
  6. </form>
  7. </body>


 
Et voici ma page testmdp.php
 

Code :
  1. <body>
  2. <? if ( $_POST['motdepasse']!= 'toto' )
  3. {
  4. header ("Location: testmdp.php" );
  5. echo 'ok';
  6. exit();
  7. }else {echo "Mauvais mot de passe";}
  8. }
  9. echo 'Veuillez saisir votre mot de passe: <br>';
  10. echo '<form name="motdepasse" method="post" action="' . htmlspecialchars($_SERVER['REQUEST_URI']) . '">';
  11. echo '<input type=password name="motpasse" size="10" value="" />';
  12. echo '<input type="submit" name="action onClick=(this.form)" value="OK">';
  13. echo '</form>';
  14. ?>
  15. Salut et bienvenu !
  16. </body>


 
Vous allez me dire j'ai surement fais une grosse bourde mais il y a au moins 6 mois que je n'ai pas fait de php (et j'étais loin d'être un dieu avant :mrgreen:).  
 
Please help me !
 
Edit : si vous avez en tete un code plus simple qui marche, je suis preneur.
 
Edit 2 : j'ai testé un nouveau script qui me paraissait propre, mais ca ne marche toujours pas :  
 

Code :
  1. <?php
  2. if ( ($PHP_AUTH_USER=="eric" ) and ($PHP_AUTH_PW=="toto" ) )
  3.      {$auth=true;}
  4. else
  5.      {$auth=false;}   
  6. if (!$auth) {
  7.       header( 'WWW-Authenticate: Basic realm="Compte gestionnaire"' );
  8.       header( 'HTTP/1.0 401 Unauthorized' );
  9.       print "<html><head><title> ACCES NON AUTORISE</title></head><body>"; 
  10.       print "<center>Authentification nécessaire</center></html>"; 
  11.       exit;
  12. }
  13. else {
  14. header ("Location: private.php" );
  15. }
  16. ?>


 
Pour info : [B]je fais mes tests sur wampserver 2.0[/B]

mood
Publicité
Posté le 06-02-2010 à 00:49:45  profilanswer
 

n°1963553
regexp42
Eplucheur de RFC.
Posté le 06-02-2010 à 01:10:52  profilanswer
 

Tu voulais pas dire ca ?
 

Code :
  1. <? if ( $_POST['motdepasse'] == 'toto' )


n°1963619
charlelech​auve
Posté le 06-02-2010 à 16:58:04  profilanswer
 

En effet, mais ca ne marche tout de meme pas. Que le mot de passe soit bon ou mauvais j'accede à la page securisée...

n°1963625
midnnight
Posté le 06-02-2010 à 17:53:23  profilanswer
 

Salut
Essais ça, ça fonctionne mais avec cookie.
fichier simple php, pas besoin de DCT ni de <head> ni de <body>
(Sinon tu peux aussi créer des sessions avec mots de pass, c'est mieux mais plus complexe, rien n'est parfait...)

Code :
  1. <?php /* Date : 01/01/2009 midnnight progyl*/ ?>
  2. <?
  3. // si le visiteur a tapé "toto" et "toto17"
  4. // on met "ok" dans le cookie
  5. if($_POST["user"]=="toto"
  6. and $_POST["pass"]=="toto17" ) {
  7.    setcookie("passe2","ok" );
  8.    Header("Location: ".$_SERVER["PHP_SELF"]);
  9. // sinon si le lien contient ?pass=no
  10. // on vide le cookie
  11. } elseif(@$_GET["user"]=="no"
  12. and @$_GET["pass"]=="no" ) {
  13.    setcookie("passe2" );
  14.    Header("Location: ".$_SERVER["PHP_SELF"]);
  15. }
  16. // on lit le cookie
  17. $isOK = (@$_COOKIE["passe2"]!="" );
  18. // si non vide >> affiche le menu
  19. if($isOK) { ?>
  20. <span style="color:#000099">Bonjour ! Voici vos infos ou votre lien vers la page secrète:<br /><a
  21. href="#">blablabla</a></span><br />
  22. <br />
  23. <? // si vide >> affiche le formulaire
  24. } else { ?>
  25.    <form method="post" action="<?$PHP_SELF;?>">
  26.     <label>Nom d utilisateur : <input type="text" name="user" /></label><br />
  27.     <label>Mot de passe : <input type="password" crypt_password name="pass" /></label><br /><br />
  28. MOT DE PASS INCORRECT
  29.     <input type="submit" value="Envoyer" />
  30.     <input type="reset" value="Rétablir" />
  31. </form>
  32. <?php
  33. function crypt_password($texte) {
  34.    $s="";
  35.    for ($i=0;$i<strlen($texte);$i++) {
  36.      $s.="&#".ord($texte{$i}).";";
  37.    }
  38.    return $s;
  39. }
  40. // FIN du Filtre crypt_form
  41. ?>
  42. <? } ?>


Message édité par midnnight le 06-02-2010 à 17:57:54
n°1963648
charlelech​auve
Posté le 06-02-2010 à 21:39:07  profilanswer
 

J'ai reussi en modifiant mon premier code :  
 

Code :
  1. <?php
  2. if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']) && $_SERVER['PHP_AUTH_USER']=="rico" && $_SERVER['PHP_AUTH_PW']=="toto" )
  3.      {$auth=true;}
  4. else
  5.      {$auth=false;}   
  6. if (!$auth) {
  7.       header( 'WWW-Authenticate: Basic realm="Compte gestionnaire"' );
  8.       header( 'HTTP/1.0 401 Unauthorized' );
  9.       print "<html><head><title> ACCES NON AUTORISE</title></head><body>"; 
  10.       print "<center>Authentification nécessaire</center></html>"; 
  11.       exit;
  12. }
  13. else {
  14. header ("Location: mdp.php" );
  15. }
  16. ?>


 
J'ai tout de même testé ton code, il marche (avec des petits bugs) mais un peu compliqué. Je vais tout de même essayé de corriger les quelques bugs car j'laime bien quand meme.  
 
merci

n°1963652
KangOl
Profil : pointeur
Posté le 06-02-2010 à 21:43:14  profilanswer
 

pourquoi pas passer par un .htaccess + .htpassw ?


---------------
Nos estans firs di nosse pitite patreye...
n°2069043
vpcoyote
Posté le 09-04-2011 à 12:12:19  profilanswer
 

<?php
if ($_GET['ps'] AND $_GET['pas'] ) {
$pseudo = $_GET['ps'];
$pass = $_GET['pas'];
} else {
if ($_POST['pseudo'] AND $_POST['pass'] ) {
$pseudo = $_POST['pseudo'];
$pass = $_POST['pass'];
} else {
if (isset($_COOKIE['pseudovp']) AND isset($_COOKIE['passvp']) ) {
$pseudo = $_COOKIE['pseudovp'];
$pass = $_COOKIE['passvp'];
};
};
};
if ( $pseudo == "pseudo" AND $pass == "pass" ) {
$pseudovpc = $_COOKIE['pseudovp'];
$passvpc = $_COOKIE['passvp'];
if ( $pseudovpc == "" AND $passvpc == "" ) {
setcookie("pseudovp", "". $pseudo ."", (time() + 3600));
setcookie("passvp", "". $pass ."", (time() + 3600));
} else {
};
    echo "bonjour ". $pseudo ."";
} else {
    echo "tu n'est pas connecté";
?>
<table width="450" height="339" border="5" align="center" bordercolor="#FF0000" bgcolor="#FFFF00">
  <tr>  
    <td> <form name="form1" method="post">
        <p align="center">
          <input name="pseudo" type="text" value="Pseudo">
          <input name="pass" type="password" value="password">
        </p>
        <p align="center">  
          <input type="submit" name="Submit" value="Envoyer">
        </p>
      </form>
<?
};
?>
 
 
cookie,url,et formulaire^^,je peu meme vous faire :
page s'incription super simple comme ca,et un formulaire de connection permettant de ne pas forcement devoir aller sur la page pour se co ^^(c'est souvent le pb avec ce genre de securisation...)
++(je detere,je sais xD)


Message édité par vpcoyote le 09-04-2011 à 12:16:10
n°2069044
vpcoyote
Posté le 09-04-2011 à 12:18:46  profilanswer
 

a oui,'avais oublié,je peu faire recup de mdp(tout ca sans bdd) chui pas un dieu,mais je signal que j'ai fais ca sans aucun cour et j'ai 13 an ( je suis super content d'avoir réussi xD)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  mot de passe sans bdd

 

Sujets relatifs
Problème code pour mot de passemot de passe enregistré[Résolu]
se souvenir du mot de passe[RESOLU] [MYSQL] Retrouver mot de passe d'un user
Où qu'est passé "PERSO.XLS" ???Accès par mot de passe et accéder juste à une partie des données ?
comparaison mot de passe bd et formulaire[RESOLU] >>> Redirection vers une URL selon le mot de passe !
Récupérer variables utilisateur et mot de passe pour connexion autoParser une page HTML avec mot de passe
Plus de sujets relatifs à : mot de passe sans bdd


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR