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

[PHP] Problèmes sessions ...

gulius44
gulius44
Niveau 9
27 avril 2005 à 12:32:14

Voilà en fait, j´ai besoin d´utiliser les sessions pour un site que je suis actuellement entrain de faire.

Tout ce passe bien pour ce qui est de la gestion des sessiosn par cookie, masi ça se complique lorsque je bloque les cookies et que je cherche à propager le nom de session par url.

Enfait j´ai besoin de faire une redirection
--> header("Location: index.php?".SID);
Sauf que certaines fois cela semble marcher, mais d´autres fois, cela créer un nouveau fichier de session ( chez mois en local sous / tmp) à chaque redirection, on actualisation de page.

Les paramètre de session ds php.ini sont correct.
---> session.use_cookies = 1
---> session.use_only_cookies = 1

Et apparement php a bien été installer avec l´option ( je ne sais plus laquelle), qui fait que même si les cookie sont bloquer, le passage d´identifiant de session se fait automatiquement ds l´url.

Mais chez moi, ça ne le fait point.

J´ai pas mal chercher, masi jvoi pas où est le prob.

Merci d´avance

electron_libre
electron_libre
Niveau 10
27 avril 2005 à 12:58:03

pourquoi tu utilises pas les variables de sessions $_SESSION[nom_variable] ?

gulius44
gulius44
Niveau 9
27 avril 2005 à 13:24:55

Jvoi pas le rapport là. A partir du moment où les sessions ne peuvent pas etre reconnue dune page à une autre ( ou après un refresh), les variables de sessions seront inexistantes, ou seront réinitialisées à chaque fois.

gulius44
gulius44
Niveau 9
27 avril 2005 à 13:25:39

Je parle forcément lorsque l´id de session est passé via l´url et nan par cookie ( ce dernier cas marche bien).

watzakamikaze
watzakamikaze
Niveau 10
27 avril 2005 à 13:29:23

session.use_only_cookies = 1

Comment tu veux faire marcher les url avec activer ? ; )

session.use_trans_sid = 1 #Vérifie que ça c´est activé

Hmm pigé ?

watzakamikaze
watzakamikaze
Niveau 10
27 avril 2005 à 13:35:14

Question que je me suis toujours posé, et peux être connais-tu la réponse ! ?

Quand tu utilises le SID, et que tu enregistres une variable, et qu´après, tu modifies le SID, et bien sur mon moteur php, j´ai la même valeur de variable pour le nouveau SID...

Je sais pas du tout à quoi c´est du, et ça me fais pas ça sur free!
W.

gulius44
gulius44
Niveau 9
27 avril 2005 à 13:49:56

Ouaip dslé me susi gouré, session.use_only_cookies était bien à 0.

Et j´avais pensé à activé session.use_trans_sid, puis j´ai redémarré apache ( je sais pas si les changement du php.ini sont immédiats ou non).

Mais toujour rien.
En fait, lorsque j´utilise la méthode en passant implicitement l´id de session ds l´url ( avec SID) ça marche, mais en activant ession.use_trans_sid ça aurai dû le faire.

Perso je sais que chez moi lorsque l´id de session change, pas moyen de retrouver mes variables.

Faut croire que c´est une des magies de php ; -)

gulius44
gulius44
Niveau 9
27 avril 2005 à 13:52:23

Pourtant ds la doc php ->
Le module de session supporte les deux méthodes. Les cookies sont optimaux, mais comme ils ne sont pas sûrs ( tous les internautes ne les acceptent pas), ils ne sont pas fiables. La seconde méthode place l´identifiant de session directement dans les URL.

PHP est capable de faire cela de manière transparente, lorsqu´il est compilé avec l´option --enable-trans-sid . Si vous activez cette option, les URL relatives seront modifiées pour contenir l´identifiant de session automatiquement. Alternativement, vous pouvez utiliser la constante SID , qui est définie, si le client n´a pas envoyé le cookie approprié. SID est soit de la forme session_name=session_id ou une chaîne vide.

Comprend po. LE passage de l´id de session via l´url devrai se faire automatiquement ( si jai bien tout compris) lorsque session.use_trans_sid = 1

gulius44
gulius44
Niveau 9
27 avril 2005 à 13:58:11

C´est bon y have the solution.
Enfait, cela ne marche que pour les urls relatives c-à-d: < a href="index.php">Truc</a>
--> Ca rajoutera le SID directement après.

Pour ce qui est de la redirection, il faut préciser header("Location: index.php?."strip_tags(SID));

Voila voila

gulius44
gulius44
Niveau 9
27 avril 2005 à 14:06:03

En gros pour résumer.

Un identifiant de seesion peut-être envoyer d´uen page à l´autre par deux manières:

- via un cookie chez le client, mais pour cela celui-ci ne doit pas bloquer les cookies, et dans la partie " session" de php.ini, il doit y avoir session.use_cookies = 1

- via l´url. Mais ds le php.ini, rubrique " session", il faut impérativement session.use_only_cookies = 0
De plus, l´envoie de l´id de session via l´url se ferra automatiquement si php a été compiler avec l´option --enable-trans-sid, et si dans le php.ini, tjs rubrique " session", session.use_trans_sid = 1

Mais ceci ne marche que pour les adresse relative. En gros après une adresse du style < a href="index.php">Index</a>, ça rajoutera < a
href="index.php?nom_de_session=id_de_session">Inde
x</a>

Mais cela ne marche que pour les urls relatives.
Pour les redirections, faites:
header("Location: index.php?."strip_tags(SID));

Voila voila

watzakamikaze
watzakamikaze
Niveau 10
28 avril 2005 à 08:36:48

Et sais tu pourquoi on doit faire strip_tags() ?

( J´ai mis du temps à trouver :o)) )

gulius44
gulius44
Niveau 9
28 avril 2005 à 17:43:30

Bas c´est une fonction qui sert à supprimer les balises html et php.

Sinon bonjour les possibilités d´attaques XSS ( XSS consiste à injecter des données arbitraires dans les scripts).

T´as vu il est sympa google. Donne pleins d´infos.

watzakamikaze
watzakamikaze
Niveau 10
28 avril 2005 à 19:33:45

Oui c´est écriten bas de page du manuel =)

Non, je veux dire, par quel moyen on s´occupe du SID pour faire jou jou avec =D

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