Cookie et redirection
Fermé
daggoon
Messages postés
5
Date d'inscription
mardi 9 septembre 2008
Statut
Membre
Dernière intervention
26 octobre 2008
-
25 oct. 2008 à 17:46
daggoon Messages postés 5 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 26 octobre 2008 - 26 oct. 2008 à 14:20
daggoon Messages postés 5 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 26 octobre 2008 - 26 oct. 2008 à 14:20
A voir également:
- Cookie et redirection
- Supprimer cookie - Guide
- Cookie manager - Télécharger - Confidentialité
- Comment récupérer mon jeu cookie jam - Forum Facebook
- Mise. Jour de cookie jam ne marche pas - Forum iPad
- Recuperer les niveaux de jeux en changeant de telephone? ✓ - Forum Samsung
2 réponses
Salut,
Ta méthode n'ai franchement pas sur à vrai dire, une faille de sécurité.
Je connais pas l'espace membre que tu utilises, si c'est toi qui l'a fait ou pas, mais tu ferais bien de vérifier le cookie avant tout.
Par exemple, tu pourrais stocker une chaine aléatoire sur mysql, associé au nom de l'utilisateur et à la connexion, tu vérifies que la chaine de caractère contenu dans le cookies et la même que celle sur mysql.
Ensuite, tu donnes que très peu d'information à propos de ta page à protèger.
Je suppose qu'elle est basé sur l'id du membre, par exemple :
page_user.php?id=120
Dans ce cas, créé une session, fait une requete sql pour charger les infos de ton membre et stock tout le necessaire sur une session (l'id par exemple)
Ensuite, sur ta page tu mets :
Ta méthode n'ai franchement pas sur à vrai dire, une faille de sécurité.
Je connais pas l'espace membre que tu utilises, si c'est toi qui l'a fait ou pas, mais tu ferais bien de vérifier le cookie avant tout.
Par exemple, tu pourrais stocker une chaine aléatoire sur mysql, associé au nom de l'utilisateur et à la connexion, tu vérifies que la chaine de caractère contenu dans le cookies et la même que celle sur mysql.
Ensuite, tu donnes que très peu d'information à propos de ta page à protèger.
Je suppose qu'elle est basé sur l'id du membre, par exemple :
page_user.php?id=120
Dans ce cas, créé une session, fait une requete sql pour charger les infos de ton membre et stock tout le necessaire sur une session (l'id par exemple)
Ensuite, sur ta page tu mets :
<?php if ($_SESSION['id'] == $_GET['id']) { // on affiche la page } else { // on appui sur la touche eject }
daggoon
Messages postés
5
Date d'inscription
mardi 9 septembre 2008
Statut
Membre
Dernière intervention
26 octobre 2008
26 oct. 2008 à 14:20
26 oct. 2008 à 14:20
Salut J'ai fait ce que tu m'as dit... créer une chaine aléatoire dans MYSQL. Mais ca ne régle pas mon problème. Quand un membre se connecte, que le cookie est installé, je veux qu'il accéde à sa page perso mais pas à celle des autres membres.
Voici ma page checklogin
<?php
$host="localhost";
$username="XXXXXXX";
$password="XXXXXX";
$db_name="XXXXXXX";
$tbl_name="membres";
$link=mysql_connect("$host", "$username", "$password")or die("connexion impossible");
mysql_select_db("$db_name")or die("impossible de se connecter à la base de données");
$myusername=$_POST['myusername'];
$mypassword= $_POST['mypassword'];
$encrypted_mypassword=md5($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$encrypted_mypassword'";
$result=mysql_query($sql,$link);
$count=mysql_num_rows($result);
if($count>0) {
$destination= mysql_result($result,$i,"destination");
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
$result=mysql_query("update membres set id=\"$id\" where username=\"$myusername\" and password=\"$encrypted_mypassword\"",$link);
$requete = "SELECT id FROM $tbl_name WHERE username='$myusername' AND password='$encrypted_mypassword'";
$resultat = mysql_query($requete);
$ligne = mysql_fetch_array($resultat);
setcookie("id", $ligne["id"]);
header("location:$destination?id=$id");
}
else {
header ("location:erreur.php");
}
?>
Et voici la page d'un membre type:
<?php
if(empty($_COOKIE['id']))
{
header("location: index.php]");
}
else
{
?>
<?php
$host="localhost";
$username="XXXXXXX";
$password="XXXXXX";
$db_name="XXXXXX";
$tbl_name="membres";
$link=mysql_connect("$host", "$username", "$password")or die("connexion impossible");
mysql_select_db("$db_name")or die("impossible de se connecter à la base de données");
$result=mysql_query("select * from membres where id=\"$id\"",$link);
if(mysql_num_rows($result)==0)
{
header("Location:erreur.php");
}
?>
Comment faire pour que le membre1 accède uniquement à sa page perso et ne puisse pas voir la page perso des autres membres ?
Merci
Voici ma page checklogin
<?php
$host="localhost";
$username="XXXXXXX";
$password="XXXXXX";
$db_name="XXXXXXX";
$tbl_name="membres";
$link=mysql_connect("$host", "$username", "$password")or die("connexion impossible");
mysql_select_db("$db_name")or die("impossible de se connecter à la base de données");
$myusername=$_POST['myusername'];
$mypassword= $_POST['mypassword'];
$encrypted_mypassword=md5($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$encrypted_mypassword'";
$result=mysql_query($sql,$link);
$count=mysql_num_rows($result);
if($count>0) {
$destination= mysql_result($result,$i,"destination");
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
$result=mysql_query("update membres set id=\"$id\" where username=\"$myusername\" and password=\"$encrypted_mypassword\"",$link);
$requete = "SELECT id FROM $tbl_name WHERE username='$myusername' AND password='$encrypted_mypassword'";
$resultat = mysql_query($requete);
$ligne = mysql_fetch_array($resultat);
setcookie("id", $ligne["id"]);
header("location:$destination?id=$id");
}
else {
header ("location:erreur.php");
}
?>
Et voici la page d'un membre type:
<?php
if(empty($_COOKIE['id']))
{
header("location: index.php]");
}
else
{
?>
<?php
$host="localhost";
$username="XXXXXXX";
$password="XXXXXX";
$db_name="XXXXXX";
$tbl_name="membres";
$link=mysql_connect("$host", "$username", "$password")or die("connexion impossible");
mysql_select_db("$db_name")or die("impossible de se connecter à la base de données");
$result=mysql_query("select * from membres where id=\"$id\"",$link);
if(mysql_num_rows($result)==0)
{
header("Location:erreur.php");
}
?>
Comment faire pour que le membre1 accède uniquement à sa page perso et ne puisse pas voir la page perso des autres membres ?
Merci