Script php de sécurisation

Résolu
hack_net Messages postés 814 Statut Membre -  
hack_net Messages postés 814 Statut Membre -
Bonjour,
J'ai crée un script php pour sécurisé des pages, mais il y a quelques défauts...

<?php
session_start(); // On démarre la session AVANT toute chose

if($_POST['name']!="")
{
$_SESSION['name'] = $name;
$_SESSION['mot_de_passe'] = $mot_de_passe;
}

/*En effet $_SESSION['name'] sera égal à $name et $_SESSION['mot_de_passe'] sera égal à $mot_de_passe*/
/*que si $_POST['name'] n'est pas égal à rien*/
// Maintenant que le session_start est fait, on peut taper du code HTML

	if (isset($_POST['mot_de_passe'])) 
		{
   		 $mot_de_passe = $_POST['mot_de_passe'];
		}
	else 
		{
   		 $mot_de_passe = ""; 
		}

	if ($mot_de_passe == "motdepass1" & $name == "Pseudo1") 
		{
		@header("Location: P.php");
		}
	elseif ($mot_de_passe == "motdepass2" & $name == "Pseudo2") 
		{
		@header("Location: C.php");
		}
	else 
		{
		
			?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Connexion au site</title>
  <style type="text/css">
  body{
  background: black;
  text-align: center;
  }
  table{
   color: red;
  }
  </style>
 </head>
 <body>
 <form action="" method="post">
 <table width="225" border="1" cellpadding="3" align="center">
 <tr><td colspan="2"><center><font
 size="+2"><b>Connexion</b></font></center></td></tr>
 <tr><td>Login : </td><td><input type="text" name="name"></td></tr>
 <tr><td>Mot de Passe : </td><td><input type="password" name="mot_de_passe" /> </td></tr>
 <tr><td colspan="2" align="center"><input type="submit" value="Valider" /></td></tr>
 </table>
 </form>
<div style="background-color: #767684; color: #FFDD00; font: bold, 14px, Arial;">
<?php include ('include/coyright.html'); ?>
</div>
 </body>
</html>
<?php
		}
?>


J'aimerais que cela produise les actions suivantes :
"-Si le pseudo est Pseudo1 ET que le mot de passe est motdepass1, alors le visiteur est redirigé vers P.php,
-Si le pseudo est Pseudo2 ET que le mot de passe est motdepass2, alors il est redirigé vers C.php"

Deuxième bug : l'include ne marche pas :s

Merci pour votre aide qui me sera précieuse...
--
 "S'il on payait un impôt sur la connerie, alors l'état s'auto-financerait"
 "La colère envers autrui reflète toujours la tristesse interne"
 "La théorie, c'est quand on sait tout mais que rien ne marche, et la pratique c'est quand tout marche mais qu'on ne sait pas pourquoi."
Configuration: Windows XP
Firefox 3.0.1

12 réponses

  1. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    salut!
    essai de separer le php de html
    0
  2. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    le symbole du ET logique c'est && pas & donc
    if ($mot_de_passe == "motdepass1" && $name == "Pseudo1") 
    elseif ($mot_de_passe == "motdepass2" && $name == "Pseudo2") 
    pour ton include ne mets pas d'espace entre include et la premiere parenthese
    <?php include("include/coyright.html"); ?>
    0
  3. hack_net Messages postés 814 Statut Membre 51
     
    Ok merci a vous deux, je teste et je repost les changements plus tard :)
    0
  4. hack_net Messages postés 814 Statut Membre 51
     
    Bon ça marche pour Pseudo1, mais pas pour Pseudo2.

    De plus, voici l'erreur pour l'include :
    Warning: main(http://h4ck.n3t.free.fr/include/coyright.html) [function.main]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /mnt/102/sdb/f/b/h4ck.n3t/Chat php/index.php on line 60
    
    Warning: main() [function.include]: Failed opening 'http://h4ck.n3t.free.fr/include/coyright.html' for inclusion (include_path='/mnt/102/sdb/f/b/h4ck.n3t/include:.:/usr/php4/lib/php') in /mnt/102/sdb/f/b/h4ck.n3t/Chat php/index.php on line 60
    


    Merci de votre aide...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    apparement il trouve pas ton fichier...
    verifie que le chemin que tu as donné est le bon et qu'il est bien ecrit
    0
  7. hack_net Messages postés 814 Statut Membre 51
     
    Oui c'était ça merci ^^

    Pour ce qui est de la session, qui a une solution ?

    Je répète : le couple "Pseudo1/motdepass1" marche mais le couple "Pseudo2/motdepass2" est ignoré :(

    Encore une chose, j'aimerais que sur la page de destination (C.php et P.php) il y est un code permettant de vérifié si la session est bien démarrée, et si les infos rentrées sont bonnes... J'ai écrit ceci :

    <?php
    session_start(); // On démarre la session AVANT toute chose
    	if ($mot_de_passe == "" OR $name == "") 
    		{
    		@header("Location: index.php");
    		}
    	elseif ($mot_de_passe == "motdepass1" && $name == "Pseudo1") 
    		{
    ?>
    <html>
    <!-- La page P.php -->
    </html>
    <?php
    		}
    ?>
    


    est-ce bon ?

    Merci pour vos réponses...
    0
  8. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    c'est normal que le couple "pseudo2/mot de passe 2" marche pas tu as oublié l'espace entre else et if
    else if ($mot_de_passe == "motdepass2" && $name == "Pseudo2")
    pour ta deuxieme question le symbole du OR c'est ||
    if ($mot_de_passe == "" || $name == "") 
    et c'est pareil il manque un espace dans ton else if
    else if ($mot_de_passe == "motdepass1" && $name == "Pseudo1") 
    0
    1. hack_net Messages postés 814 Statut Membre 51 > Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention  
       
      C'est pour ça que je ne comprends pas non plus :s
      0
    2. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923 > hack_net Messages postés 814 Statut Membre
       
      et dans tes modifs tu n'as touché qu'à ça ?

      tu n'avais pas oublié de fermer une accolade en plus ? ou quelque chose du même genre…
      0
    3. hack_net Messages postés 814 Statut Membre 51 > Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Non, j'ai touché que ça...
      0
    4. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923 > hack_net Messages postés 814 Statut Membre
       
      peux tu recoller le bout de script une fois modifié (celui qui fonctionne quoi !) stp ?
      0
  9. hack_net Messages postés 814 Statut Membre 51
     
    Oui, mais la balise elseif existe aussi, dans quelle cas on l'utilise alors ?

    En tout cas merci pour ta réponse, je test et je repost...
    0
  10. hack_net Messages postés 814 Statut Membre 51
     
    Super ça marche !!!!

    Merci pour tout :)
    0
  11. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    re,

    je reprends en bas pour avoir de la place.

    je ne comprends pas d'où sort "$name".

    tu affectes la valeur de "$name" à la variable de sessions "$_SESSION['name']" mais "$name" elle-même n'est jamais définie et tu n'utilises pas le retour du formulaire à savoir "$_POST['name'].
    	if($_POST['name']!="")
    	{
    		$_SESSION['name'] = $name;
    		$_SESSION['mot_de_passe'] = $mot_de_passe;
    	}
    0
  12. hack_net Messages postés 814 Statut Membre 51
     
    Le truc, c'est que ça marche...

    Apés, sur les pages sécurisé, je fais appel à la session, et en titre (<title>) et en titre (<h1>) je met
    <?php echo $name; ?>
    et ca affiche le pseudo :)

    Le "$name" sort du formulaire si tu regarde bien ;)

    A+
    0
    1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
       
      le problème c'est que pour effectivement sortir du formulaire il faudrait que tu ailles le chercher dans "$_POST['name']" ce qui n'est pas le cas.

      tu n'aurais pas "register_global=ON" dans ton "php.ini" ?

      ce n'est pas très conseillé, mais bon si ça fonctionne et te convient je te souhaite bonne soirée !
      0
  13. hack_net Messages postés 814 Statut Membre 51
     
    Je m'y connais pas en php. Tout ce que je sais, c'est que j'ai fait un script et des pages sécurisées avec l'aide de mype, et qu'elles marchent. Aucuns autres fichiers, aucunes autres config...

    Bonne nuit :)
    0