Script php de sécurisation

Résolu
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   -  
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   -
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...
A voir également:

12 réponses

bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
salut!
essai de separer le php de html
0
mype Messages postés 2435 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
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Ok merci a vous deux, je teste et je repost les changements plus tard :)
0
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mype Messages postés 2435 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
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   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
mype Messages postés 2435 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
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

le coup de l'espace, j'aimerais bien comprendre car il n'y a pas de différence entre les deux instructions.
0
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51 > Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention  
 
C'est pour ça que je ne comprends pas non plus :s
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922 > hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention  
 
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
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51 > Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention  
 
Non, j'ai touché que ça...
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922 > hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention  
 
peux tu recoller le bout de script une fois modifié (celui qui fonctionne quoi !) stp ?
0
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   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
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Super ça marche !!!!

Merci pour tout :)
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
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
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   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
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
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
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   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