Page 1 sur 1

sécuriser une page en php avec des session

Posté : 18 juil. 2011, 13:12
par sidomed
bonjour
j'aimerai sécuriser une page avec une variable de session, c'est à dire que quand on veut accéeder à ma page directement, et si on est pas connecter , bah on est redériger direcetement vers la page d'authentification.
pour résoudre ça j'ai fait le script d'authentification, avec deux variable de sessions et il marche je vous donne son code"index.php"
<?php 
session_start() ; 
$login = 'root';
$password = 'test';

if($_POST && !empty($_POST['login']) && !empty($_POST['pwd']))
 {
   if(($login == $_POST['login']) && ($password == $_POST['pwd']))
    {
	    $_session['auth'] = array('log' => $login,'pass' => $password);
        echo 'vous étes bien connecté';
		print_r($_session);
    }
	else
	{
	 echo 'mauvais login ou mot de passe';
	}
 }

?>


				
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
	<head>
		<title>le Gestionnaire de publicité</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet"type="text/css"href="general.css"/>
	</head>
	<body>


<div id="connect">
<form method="POST" action="pub.php">
	<br/>
	<br/>
	<table>
	<tr>
		
			<td><label>Votre login:</label></td>  			
			<td><input type="text" name="login"/></td>
	</tr>
	<tr>
			<td><label>Mot de passe :</label></td>
			<td><input type="password" name="pwd"/></td>
	<tr></tr>
	<tr></tr>
	<tr></tr>
	<tr>
		<td></td>
		<td><input type="submit" name="valider" value="Connexion"/></td>
	</tr>
	   </table>
	</div>
maintenant je veux sécuriser la page "bonjour.php" donc j'ai fait ce script
<?php session_start() ; 
if (isset ($_session['auth']) && isset($_session['auth']['login']) && isset($_session['auth']['pass']))
	{
        echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd >
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
        <head>
		<title>la page privé</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		
	</head>
	<body>
	bonjour
	<a href="logout.php">Se déconnecter</a>
    </body>
    </html>';

}
else {
echo 'nonnnnnnnnnnnnnnn';
}
?>
et ça ne marche pas, quelqu'un peut m'aider?

Re: sécuriser une page en php avec des session

Posté : 18 juil. 2011, 14:47
par Ryle
Si cela ne fonctionne pas c'est parce que l'une au moins des trois variables que tu testes, n'est pas définie.

Première chose à savoir : $_session et $_SESSION sont deux variables différentes :)

Deuxième point, l'instruction print_r($_SESSION) t'aidera à débugger et te permettra voir ce que contient ta session, et donc de t'assurer que l'index que tu tests y est bien présent.. :)

Re: sécuriser une page en php avec des session

Posté : 18 juil. 2011, 14:52
par sidomed
avec le print_r j'arrive bien à récuperer le login et le mot de passe,
c'est au niveau de la page "bonjour.php" que ça bloque je ne comprend pas pourquoi?
pourriez vous m'aider

Re: sécuriser une page en php avec des session

Posté : 18 juil. 2011, 15:06
par moogli
si tu regarde bien ce que te donne un print_r (ou même un var_dump) tu verra par toit même que ce que tu souhaite faire n'est pas bon.

pourquoi ?

le test de bonjour.php
isset($_session['auth']['login'])

l'affectation dans l'index.php
$_session['auth'] = array('log' => $login,'pass' => $password);

ton test échoue et c'est normal :mrgreen:


@+

Re: sécuriser une page en php avec des session

Posté : 18 juil. 2011, 15:12
par sidomed
ah oui la je suis vraiment un boulé, c'est bon ça marche, je vous remercie beaucoup pour l'aide