sécuriser une page en php avec des session

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 : sécuriser une page en php avec des session

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

par sidomed » 18 juil. 2011, 15:12

ah oui la je suis vraiment un boulé, c'est bon ça marche, je vous remercie beaucoup pour l'aide

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

par moogli » 18 juil. 2011, 15:06

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

par sidomed » 18 juil. 2011, 14:52

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

par Ryle » 18 juil. 2011, 14:47

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.. :)

sécuriser une page en php avec des session

par sidomed » 18 juil. 2011, 13:12

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?