[PHP] startsession

nao32 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
nao32 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour

j'utilise les session avec PHP, pour identifier et propager le nom du l'utilisateur connecter sur toute les pages du site.

Par exemple., je définis un variable de session de par exemple USER_NAME. cette variable est enregister si le mot de passe est correct. Donc, sur toute mes pages en faisant un startsession, je recupere le nom de l'utilisateur connecter.

Jusqu'ici, tout va bien. mais, je me suis aperçu, que je pouvais m'identifier comme un utilisateur sans passer par la page d'identification. en faisant tout simple www.monsite.fr/index.php?USER_NAME=TOTO

Dans ce cas, je suis identifier comme l'utilisateur TOTO, mais, je n'ai pas tapé le mot de passe. Au niveau de la securité, c'est dommage.

Ce que je ne comprends pas, c'est que cette variable, passer en "parametre" à la page devrai etre ecrasé, par la variable de seesion qui porte le même nom.

En faisant www.monsite.fr/index.php?USER_NAME=TOTO
j'appel la page index.php avec USER_NAME=TOTO

Mais, en debut de page, j'appele la fonction startsession. Donc, je restore toutes les varibales de session, dont celle qui s'appele USER_NAME. donc, je devrais réecrasé la variable passe en parametre à la page.

Je m'apercoi, que ce n'ai pas le cas. et ca poste des probleme de securite sur mon site. Y aurai t il une solution pour avoir uniquement la variable de session et pas un autre de même nom passe en parametre à ma page.

Merci, de votre aide, je suis sur qu'il y aura quelqu'un sur ce forum, suffisament fort, pour me venir, en aide.
A voir également:

2 réponses

ekra Messages postés 1870 Date d'inscription   Statut Membre Dernière intervention   342
 
Si tu as un
user_name=$_GET['USER_NAME']

dans www.monsite.fr/index.php alors c'est normal...
Les pages nécéssitant une identification devraient ne comporter que
if (isset($_SESSION['USER_NAME'])) 

On n'affecte que $_SESSION['USER_NAME'] avec $_GET['USER_NAME'] qu'à l'identification, lorsqu'on a vérifier au préalable le mot de passe.

Enfin, ça fait longtemps que je n'en ai pas fait ^^
1
nao32 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   2
 
merci ekra,

J'utilisais USER_NAME, au lieu $_SESSION['USER_NAME'], dans mon script, et comme il exister les deux variables $_SESSION['USER_NAME'] et $_GET['USER_NAME'], et que je ne précisé pas la quelle je prenais, le navigateur prenait par defaut $_GET['USER_NAME'].


Merci, beaucoup, ton aide m'a ete priseuse
0