"simuler" une variable de session

Eléphanteau du PHP | 34 Messages

05 août 2008, 15:31

bonjour à tous,

aujourd'hui c'est question sécurité :)

alors voilà j'ai un formulaire d'authentification (login+pass) tout ce qu'il y a de plus basic, qui va vérifié si le couple login / pass existe dans la base de donnée.
s'il existe je stock le l'identifiant dans une variable de session du genre
$_SESSION['monsite'] = '15';
par la suite sur les autres pages je vérifie à chaque fois si cette variable existe toujours
if(isset($_SESSION['monsite'])) echo 'c bon';
Ma question est donc la suivante :
Est-ce qu'il existe un moyen pour que quelqu'un par un quelconque moyen se créer un variable de session 'monsite' et lui donne comme valeur 15 pour pouvoir se balader tranquillement sur les pages sans avoir rentré de password ?

Si c'est le cas ça constitue donc une faille sur mes pages.
Merci de me l'indiquer.

A bientôt
Max

ViPHP
ViPHP | 3300 Messages

05 août 2008, 15:44

aucune qui ne soit une faille de sécurité de ton serveur ou de ton code. les informations session sont stockées dans un fichier sur le serveur, si quelqu'un peut accéder au serveur il peut customiser sa session, si quelquepart dans ton code il est permis de setter une variable de la session même chose.
Fait du php depuis que ca existe ou presque :)

Mammouth du PHP | 558 Messages

05 août 2008, 15:52

que se passerait il si quelqu'un arrivait a te derober une connection bidon?
le mieu serais de verifier a chaque fois a ta bd que ton identifiant envoyer est valide ou non.
ex.
if(isset($_SESSION['monsite']))//on verifie si la session existe
{
$connection1=mysql_query("SELECT * FROM membre WHERE id_connection='".$_SESSION['monsite']."'");//on verifie si la session correspond bien a celle d'un membre
$connection=mysql_fetch_assoc($connection1);
}
//en verification on fait ceci
if(!isset($connection['id'])){echo'Vous n'etes pas connecter';exit();}//si $connection['id'] n'est pas charger on vire.
j'ai fait aucune verif de securiter c'est juste une piste mais il en existe plein d'autre facon de faire
Modifié en dernier par hakazizi le 05 août 2008, 16:05, modifié 2 fois.

Eléphanteau du PHP | 34 Messages

05 août 2008, 15:52

ok la variable est stockée côté serveur ! je ne savais pas.

je pensais que c'était une sorte de cookie.

merci pour ton aide, je vais aller me documenter un peu plus sur les variables de session.

a bientôt.

Mammouth du PHP | 558 Messages

05 août 2008, 16:08

c'est meme bien plus que cela si tu fait pas attention un pirate peut acceder a plusieur chose sur ton serveur la session est une ouverture d'un espace memoire du serveur...

ViPHP
ViPHP | 4039 Messages

05 août 2008, 17:25

c'est meme bien plus que cela si tu fait pas attention un pirate peut acceder a plusieur chose sur ton serveur la session est une ouverture d'un espace memoire du serveur...
doucement, doucement.. tout dépend du script. Ca dépend de son script.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.