Page 1 sur 1

PHPSESSID ne fonctionne pas

Posté : 11 nov. 2020, 18:09
par Nathan
Bonjour,

Sur un navigateur (en l’occurrence firefox) mon site php en local n'est pas capable de récupérer des variables de session, je suspecte fortement la désactivation du cookie PHPSESSID,

message obtenu en console :

Le cookie « PHPSESSID=...» a été rejeté par les autorisations définies par l’utilisateur ou l’utilisatrice.

Je pourrais bien sûr l'activer mais sur les ordinateurs des futurs utilisateurs, je n'irait pas leur dire de modifier leurs préférences de navigateur. J'imagine qu'il y a donc une alternative à ce cookie pour faire fonctionner la session mais je n'ai rien trouvé qui soit fiable pour l'instant.

Merci d'avance pour votre aide

Re: PHPSESSID ne fonctionne pas

Posté : 11 nov. 2020, 20:11
par @rthur
Il ne me semble pas que ce soit un message standard de Firefox ça... ou alors je ne l'ai jamais rencontré.
Tu peux nous faire une capture d'écran de ta console ?


Et sinon 2 pistes pour ton problème:
- As-tu installé sur ton site un système de bandeau cookie RGPD qui pourrait bloquer les cookies en l'absence de consentement de l'utilisateur.

- As-tu testé sur une version clean de Firefox, c’est-à-dire qui vient d'être installée et sans aucune extension ?
Si tu ne l'as pas fait, tu peux simplement lancer Firefox avec le paramètre -p et créer un nouveau profil utilisateur pour tester (sans que ça supprime ton profil actuel).
Pour cela :
1) Sur ton clavier tu as juste à faire Touche Windows + R
2) La fenêtre Exécuter va s'ouvrir, dans laquelle tu tapes "firefox -p" puis [OK]
3) Et dans la nouvelle fenêtre tu fais "Créer un nouveau profil"

Re: PHPSESSID ne fonctionne pas

Posté : 11 nov. 2020, 20:59
par Nathan
Bonsoir,
Merci de m'avoir répondu, c'est bien des messages provenant de la console (voici l'intégralité) :

La demande d’accès aux cookies ou au stockage sur « http://localhost:8888/minimalist/index » a été bloquée en raison de la personnalisation des permissions des cookies.

Le cookie « » a été rejeté par les autorisations définies par l’utilisateur ou l’utilisatrice. index
Le cookie « PHPSESSID=cru5mm5cm8pgkq5l3afiniebjk; path=/ » a été rejeté par les autorisations définies par l’utilisateur ou l’utilisatrice. index
Le cookie « » a été rejeté par les autorisations définies par l’utilisateur ou l’utilisatrice. index
La demande d’accès aux cookies ou au stockage sur « <URL> » a été bloquée en raison de la personnalisation des permissions des cookies. 2
Le cookie « » a été rejeté par les autorisations définies par l’utilisateur ou l’utilisatrice. favicon.ico
Le cookie « » a été rejeté par les autorisations définies par l’utilisateur ou l’utilisatrice. main.css

Je n'ai pas de bandeau et c'est un framework maison en cours de développement.

Sinon cela marche sans souci sur une autre version de firefox (j'imagine que j'ai une extension qui se croit bienveillante...) mais ce que je souhaiterai c'est que lorsque mon site sera déployé, avoir la possibilité d'utiliser les sessions quel que soit le navigateur et extensions du visiteur.
Les sessions me servent par exemple à éviter la soumission répétitive d'un formulaire et me sont donc essentielles pour le bon fonctionnement du site. J'arrive à utiliser les sessions de Symfony mais tout essai avec des fonctions natives de php aboutit à cette erreur.
Ce que je recherche est d'avoir un système alternatif au cookie PHPSESSID.

Bonne soirée

Re: PHPSESSID ne fonctionne pas

Posté : 12 nov. 2020, 17:29
par @rthur
PHP a un mécanisme qui permet de passer l'ID de session dans les url si les cookies ne sont pas acceptés :
https://www.php.net/manual/fr/session.idpassing.php