Probleme securisation page

Fermé
teddet - 3 sept. 2009 à 22:29
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 - 7 sept. 2009 à 08:54
salut a tous en fait j'ai un petit probleme avec mon script, voila j'ai un site en construction qui dispose d'un espace membres ,lorsqu' un utilisateur est sur sa page de compte et qu'il clique sur se deconnecter de sa session on appelle une page 'deconnexion.php' qui supprime l'IP de l'utilisateur de la table connectes et doit le rediriger vers la page d'accueil là j'ai un probleme
lorsque l'utilisateur est redirigé sur la page d'accueil (son IP est en principe supprimée)mais si il appuie sur la touche precedente du navigateur ( le navigateur affiche que les données seront retransmises) quand tu cliques sur oui tu es ramené dans le compte de l'utilisateur qui etait apparemment deconnecté tout à l'heure c'est a dire que le navigateur a renvoyé ces infos dans la base de données,or je veux que l'utilisateur sois ramené sur la page de login quand il cliquera sur precedent.
merci pour vos eventuelles reponses.
A voir également:

8 réponses

CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
4 sept. 2009 à 09:03
Bonjour,

tu utilises les SESSIONS pour l'accès utilisateur ou juste l'ip dans la bdd?
Si c'est les sessions, il te suffit de détruire la session lorsque la personne se déconnecte.
Du coup tu mets une condition dans la page "moncompte" qui affichera le compte si la session n'est pas détruite ou redirigera vers la page de login si la session est détruite.

Je comprend pas trop l'intérêt mettre l'ip en bdd.
0
Ok salut et excuz moi pour le retard, merci de me repondre , j'utilise les sessions et lorsque l'utilisateur se deconnecte la session est detruite , mais je peux avoir la condition qui verifie qu'une session existe ou pas? comme ça je pourrai la mettre dans ma page 'moncompte.php', dois-je donner un nom a ma session???merci de me repondre
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
4 sept. 2009 à 14:02
Dans tes Session tu rentres des paramètre utilisateur?

Donc, à adpter évidement :

<?php if(isset["NomUtilisateur"]){ ?>

MonCompte .....

<?php }else{ ?>
<script type="text/javascript">
<!--
window.location = "pageDeLogin.php";
//-->
</script>
<?php } ?>
0
euh dans les sessions des membres on rentre un login et un pass...et quand tu met
if(isset['Nomutilisateur']
{
//
}
que represente le Nomutilisateur ?? je pensais que c'était plutot if(isset($_SESSION['flag']))???
jvai essayer ton code..merci
0

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

Posez votre question
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
4 sept. 2009 à 14:21
Erreur de ma part je voulais m ettre if(isset($_SESSION['Nomutilisateur']))

'fin tu as compris le principe, faut juste adapter avec l'attribut que tu as appelé Flag.
0
merci capiT ça marche..merci bocou..
0
capiT jai encore le probleme en fait il n'étais pas resolu ,juste que ça avait changé mais le probleme est toujours là, lorsque lorsque l'utilisateur se deconnecte et tu appuie sur precedent il revient dans la page de compte,comment faire voici mon script de la page de verification avant d'acceder au compte

<?php session_start(); ?>

<?php


mysql_connect("127.0.0.1","root","rollings4kisnava");

mysql_select_db("site");

?>



<?php

if (($_POST['pass'])== NULL OR ($_POST['login'])== NULL)

{
include("connexion-c4.php");

}







if(($_POST['login'])!=NULL) //2eme cas:on s'assure ke tout est rempli//

{

if(($_POST['pass'])!=NULL)

{



$pass = $_POST['pass'];//on met dans des variables simples//

$login = strip_tags(mysql_real_escape_string($_POST['login']));//enlevement des caractere speciaux//



$req = mysql_query('SELECT * FROM comptesc WHERE login="'.$login.'"') or die (mysql_error());//compter le nombre d'entrer selon le login entré//

$test = mysql_num_rows($req);//requete pour compter le nombre d'entrees//




if($test != 0)//si le login existe dans notre BDD

{

$reqpass=mysql_query('SELECT pass FROM comptesc WHERE login="'.$login.'"') or die (mysql_error());//compter le nombre d'entrées selon le login entré//
$donnees=mysql_fetch_array($reqpass);

if($donnees['pass']== $_POST['pass'])//4eme cas :le login et le pass sont bon//
{
$query=mysql_query("SELECT * FROM connectes WHERE IP ='".$_SERVER['REMOTE_ADDR']."'");
$result=mysql_num_rows($query);

if ($result==0)
{
if(isset($_SESSION['login']))
{
mysql_query("INSERT INTO connectes VALUES('','".$login."','".$_SERVER['REMOTE_ADDR']."','".time()."','".$_POST['type']."')");

$_SESSION['login']=$login;
include("accountc.php");
}
else
{
include("connexion-c.php");
}
}


}

if($donnees['pass']!= $_POST['pass'])//cas mot de pass erroné
{
include ('connexion-c3.php');
}




}



if($test==0)//3eme cas:le login entré n'existe pas dans notre BDD//


{

include('connexion-c2.php');

}
?>

<?php





}



}session_destroy();



?>
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
7 sept. 2009 à 08:54
Bonjour,

le session_destroy() doit apparaitre au niveau de la page de déconnexion et non ici.
0