CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Est-il possible de "simuler" des

Pseudo supprimé
Pseudo supprimé 17 janvier 2013 à 21:49:56

variables de session ?

A priori je pense que non mais je pose la question dans le doute.

En gros j'aimerais pouvoir simplement faire que sur mon site,
Si $_SESSION['client']=="admin", et bah j'offre l'accès aux outils de mod'.

Seulement si il est possible de changer celles-ci bah j'serais obligé de faire passer le pass&&login dans la session à chaque fois.

Bref vous m'avez compris, est-il possible de modifier une variable de session côté client sans lien php avec le serveur ?
Merci :)

Thymotep
Thymotep
Niveau 10
17 janvier 2013 à 21:52:24

La session n'est que du côté serveur, l'utilisateur ne peux pas la changer, sauf faille dans ton code :ok:

Pseudo supprimé
Pseudo supprimé 17 janvier 2013 à 21:54:08

Ty merci. :coeur:

Tiddo
Tiddo
Niveau 10
17 janvier 2013 à 21:54:45

Pourquoi ne pas ajouter une colonne "role" dans ta table user ?

Pseudo supprimé
Pseudo supprimé 17 janvier 2013 à 23:11:09

Plus tard, mais c'est une solution de dépannage quand je suis sur mobile et que j'veux supprimer des posts / scores

Fire_Storm
Fire_Storm
Niveau 10
18 janvier 2013 à 12:08:02

La seule façon pour qu'un utilisateur puisse modifier une variable de session (ou autre mais bon les GET et POST ça on y a accès sans problème) ça serait d'avoir le register_globals à ON (ce qui est je le rappelle ULTRA DÉCONSEILLÉ (ou vous voulez vraiment vous faire pir@ter).

Je ne crois plus qu'il y ai des hébergeurs qui aient cette option sur on (si c'est le cas faut vraiment changer d'hébergeur).

Pseudo supprimé
Pseudo supprimé 19 janvier 2013 à 20:17:20

Ok bon nouvelle question.
Je base les droits sur la présence ou non de:
$_SESSION['client']=="ADMIN"

Mais j'ai vu avec firebug qu'il existait une variable "Php Session Id".
On peut la supprimer.
Si quelqu'un la change et qu'il tombe sur ma session par hasard, est-ce possible qu'il obtienne mes droits du coup ?

J'espère etre clair.

pierreonxbox
pierreonxbox
Niveau 10
19 janvier 2013 à 22:53:46

C'est pas évident mais c'est possible. Le session Id est unique et généré aléatoirement par le serveur.

Cependant il est possible de le récupérer mais celà reste complexe et pas forcément à la portée de tout le monde.

http://php.net/manual/fr/session.security.php

vava740
vava740
Niveau 10
19 janvier 2013 à 23:45:49

C'est quasiment impossible de tomber "par hasard" sur un id de session en essayant de le bidouiller.

Tu as déjà une protection assez importante pour peu que tu n'autorise pas le passage d'id de sessions en GET ou POST (vérifie que tu as bien session.use_only_cookies à 1 dans ton php.ini).

Après si quelqu'un a accès à ton PC (physiquement ou avec un spyware), ou si il observe ton réseau et que ton site n'est pas en HTTPS, il peut récupérer ton id de session et le détourner de son côté. En général on régénère l'id de session à chaque chargement de page (session_regenerate_id), ça limite la portée de l'id si il est détourné, puisque si quelqu'un venait à récupérer ton id de session, pour peu que tu navigue sur le site il serait régénéré assez fréquemment (donc ça invaliderait l'id volé).

Quoi qu'il en soit si tu veux une sécurité """optimale""", tu peux gérer tes sessions à la main, en utilisant un cookie de session que tu génère en concaténant un uniqid avec l'user agent et l'ip du client (et pourquoi pas rajouter le pseudo et le hash du mdp pour un utilisateur connecté), le tout crypté avec un salt dans un algo décryptable (rijndael par exemple). À chaque requête tu récupère le cookie de session, tu le décrypte, et si tu récupère bien l'user agent, le pseudo / hash du mdp et que tout correspond, tu ne devrais pas avoir à t'inquiéter. Sinon c'est potentiellement une tentative d'hijack, donc tu détruit le cookie et la session.

Pseudo supprimé
Pseudo supprimé 19 janvier 2013 à 23:54:29

Et si au moment de la création de la session,
Je fous une variable contenant l'adresse ip du client,
Et qu'ensuite je vérifie en permanence si l'ip est la même ( chaque chargement ),
C'est suffisant ?

Pseudo supprimé
Pseudo supprimé 19 janvier 2013 à 23:56:54

Oui, use_only_cookies est sur 1.

vava740
vava740
Niveau 10
20 janvier 2013 à 10:07:24

En principe, si tu régénère l'id de session à chaque chargement de page c'est déjà relativement suffisant, mais oui si tu fais aussi une verif de l'ip ça t'ajoute un niveau de sécurité, après ça risque de déconnecter les personnes qui ont une ip dynamique à chaque changement d'ip, mais à ma connaissance ça change pas toutes les 10 minutes non plus.

Avec la verif d'ip, si quelqu'un prend possession de ton cookie de session, à moins d'arriver de faker ton ip il n'aura pas les droits, et pour ça il s'agit pas de modifier un simple header HTTP (et en principe si il peut faire ça, tu devrais t'inquiéter pour bien d'autres choses que tes droits sur ton site).

Pseudo supprimé
Pseudo supprimé 20 janvier 2013 à 12:08:28

Quand je régénère l'id, les variables de la session précédente sont supprimées et transférées sur la nouvelle,
Ou faut que je fasse tout manuellement ?

vava740
vava740
Niveau 10
20 janvier 2013 à 12:17:42

Ça se fait tout seul :ok:

Pseudo supprimé
Pseudo supprimé 20 janvier 2013 à 13:34:19

Génial, merci de votre aide. :noel:

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment