|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
malopo WRInaute discret

Inscrit le: 06 Juil 2007 Messages: 60
|
Posté le : Lun Sep 10, 2007 21:15 Sujet du message: Session et securite |
|
|
Bonjour,
Existe-t-il une fonction PHP pour signer les actions faites par un utilisateur qui est enregistre (avec session PHP) ?
De plus, peut-on eviter que les variables de session soient modifiees par l'utilisateur ? Ces variables la sont elles sures ?
par exemple j'ai une page
<?php
session_start();
echo $nom;
?>
ou $nom est une variable de session. Si l'utilisateur appelle
mapage.php?nom=julie
il change le resultat de echo $nom !!!
Merci |
|
| |
|
 |
bozoleclown WRInaute passionné

Inscrit le: 24 Nov 2005 Messages: 842 Localisation: Paris, France
|
Posté le : Lun Sep 10, 2007 22:43 Sujet du message: Session et securite |
|
|
non car il est fortement conseillé de travaillé avec le registrer globals à off
Registrer_globals est désactivé maintenant chez la plupart des hébergeurs
dans ton cas il faut faire pour afficher la variable de sessions
| Code: |
| echo $_SESSION[nom] |
pour afficher le ?nom envoyé en paramètre dans l'url, tu devrais faire un
Ainsi les différentes variables sont étanches les unes par rapport aux autres.
plus d'informations http://fr2.php.net/register_globals |
|
| |
|
 |
boutdepapier WRInaute occasionnel

Inscrit le: 04 Aoû 2006 Messages: 157
|
Posté le : Mar Sep 11, 2007 9:57 Sujet du message: Session et securite |
|
|
Comme dit bozo il faut utiliser les variables de sessions et bien refermer aprés utilisation
ex :
session_start();
$loge = true;
$_SESSION['loge'] = $USER;
session_write_close();
Et là tu auras des variables de sessions correctes. Et si tu veux faire disparaître les traces tu peux détruire cette variable dans certains cas (par exemple une déconnexion).
Ha oui, (à ne pas oublier) la variable SESSION a un timer !
Si cette solution ne te va pas passe par des petits gateaux secs (cookie)... |
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12363 Localisation: Toulouse
|
Posté le : Mar Sep 11, 2007 10:02 Sujet du message: Session et securite |
|
|
>> Existe-t-il une fonction PHP pour signer les actions faites par un utilisateur qui est enregistre
non à toi de le coder à chaque action.
>> De plus, peut-on eviter que les variables de session soient modifiees par l'utilisateur ?
un utilisateur ne peut pas modifier de variable de session. dans ton cas c'est une erreur de code. tu dois utiliser $_GET pour les variables dans l url, $_POST pour els variables de formulaire, $_SESSION pour les variables de session, etjuste $ pour les variables que tu crée toi dans ton code.
>> il change le resultat de echo $nom !!!
oui, mais pas $_SESSION['nom'] qui est ta variable de session. apres ton serveur est configuré de manière trop permissive. |
|
| |
|
 |
malopo WRInaute discret

Inscrit le: 06 Juil 2007 Messages: 60
|
Posté le : Mar Sep 11, 2007 17:06 Sujet du message: Session et securite |
|
|
Il faut donc coder la signature soi meme...
Y a-t-il une pratique recommandee pour cette signature ?
par exemple un md5(identifiant du visiteur + secret connu de personne) ? |
|
| |
|
 |
malopo WRInaute discret

Inscrit le: 06 Juil 2007 Messages: 60
|
Posté le : Mar Sep 11, 2007 17:08 Sujet du message: Session et securite |
|
|
D'ailleurs est-il vraiment utile de donner une signature different pour chaque action ?
Ou est-ce que c'est toujours sur de donner une seule signature a un utilisateur pour toutes ses actions? |
|
| |
|
 |
boutdepapier WRInaute occasionnel

Inscrit le: 04 Aoû 2006 Messages: 157
|
Posté le : Mar Sep 11, 2007 18:07 Sujet du message: Session et securite |
|
|
| Nan nan pas de signature la variable session est différente pour chaque utilisateur ! |
|
| |
|
 |
malopo WRInaute discret

Inscrit le: 06 Juil 2007 Messages: 60
|
Posté le : Mer Sep 12, 2007 0:54 Sujet du message: Session et securite |
|
|
la variable de session est secrete, non?
on peut pas la devoiler dans le code html |
|
| |
|
 |
bozoleclown WRInaute passionné

Inscrit le: 24 Nov 2005 Messages: 842 Localisation: Paris, France
|
Posté le : Mer Sep 12, 2007 1:03 Sujet du message: Session et securite |
|
|
Je pense que tu parles du PHPSESSID
l'id de session
permettant de faire le lien entre un accès utilisateur et sa session en cours
2 possibilités
le mettre dans l'url donc là il est en clair (pas recommander pour le ref)
soit tu le mets dans un cookie et donc il est un peu moins en clair
Donc faut priviliégier la solution cookie qui fait plus pro. |
|
| |
|
 |
malopo WRInaute discret

Inscrit le: 06 Juil 2007 Messages: 60
|
Posté le : Mer Sep 12, 2007 16:59 Sujet du message: Session et securite |
|
|
Donc PHPSESSID n'est pas ce que je cherche.
Je veux me proteger contre les attaques suivantes:
j'ai par exemple un script
changerville.php?ville=paris qui modifie la ville dans laquelle l'utilisateur est enregistre. Le script verifie que la session de l'utilisateur avant de changer sa ville.
Par contre quelqu'un peut creer un site mechant.com sur lequel il y a par exemple:
<img src="monsite.com/changerville.php?ville=hack" />
et y fait venir des visiteurs loggues de mon site. Resultat, le compte de mes utilisateurs est change sans qu'ils n'aient rien demande.
Il faut donc que je signe l'action... d'ou mon post... |
|
| |
|
 |
boutdepapier WRInaute occasionnel

Inscrit le: 04 Aoû 2006 Messages: 157
|
Posté le : Mer Sep 12, 2007 17:16 Sujet du message: Session et securite |
|
|
Bah non tu permets de changer la ville si dans la variable de session il y a bien un connect = true et l'id de l'user dans la variable de session correspond bien à l'id que tu dois modifier.
Je suis clair ? |
|
| |
|
 |
malopo WRInaute discret

Inscrit le: 06 Juil 2007 Messages: 60
|
Posté le : Mer Sep 12, 2007 17:22 Sujet du message: Session et securite |
|
|
un utilisateur de mon site qui est en train de naviguer sur mon site (il est connecte) et va sur la page avec le
<img src="..."> renverra un cookie valide! |
|
| |
|
 |
boutdepapier WRInaute occasionnel

Inscrit le: 04 Aoû 2006 Messages: 157
|
Posté le : Mer Sep 12, 2007 17:42 Sujet du message: Session et securite |
|
|
| Pour moi un cookie se modifie pour plus de sécurité il faut utiliser les sessions. |
|
| |
|
 |
bozoleclown WRInaute passionné

Inscrit le: 24 Nov 2005 Messages: 842 Localisation: Paris, France
|
Posté le : Mer Sep 12, 2007 17:52 Sujet du message: Session et securite |
|
|
| malopo a écrit: |
un utilisateur de mon site qui est en train de naviguer sur mon site (il est connecte) et va sur la page avec le
<img src="..."> renverra un cookie valide! |
Oui mais bon tu atteins un peu les limites du système.
Tu peux vérifier le referer de la page pour voir si ton utilisateur est bien sur ton site ou bien mettre le phpsessionid dans l'url pour ce cas.
Des petits malins font ça des fois dans les flux rss, ils mettent une image qui fait une rediction 301 vers la page de déconnexion de google reader par exemple. Du coup tu es déconnecté. Tu y peux rien dans ce cas.
@boutdepapier : c'est pas le problème ici. je pense. on parle juste de stocker l'id de session dans un cookie. |
|
| |
|
 |
bozoleclown WRInaute passionné

Inscrit le: 24 Nov 2005 Messages: 842 Localisation: Paris, France
|
Posté le : Mer Sep 12, 2007 18:04 Sujet du message: Session et securite |
|
|
sinon quand l'utilisateur change de ville
tu peux faire une page intermédiaire
où tu lui demandes "confirmer votre changement de ville OUI/NON ?"
et donc du coup voila une parade pour les appels externes en plus du referer. |
|
| |
|
 |
| |
|
|