Utiliser les cookies sur plusieurs sites différents

Eléphanteau du PHP | 19 Messages

11 févr. 2021, 19:03

Salut,
Je construit une solution pour les sites qui pourra être ajouté sur d'autres pages web dans le code.
Je me base sur un système de cookie pour que l'utilisateur n'ait pas à se logger à chaque fois qu'il va sur une page avec ma solution.
Les cookies sont crées quand tu te connecte à mon site et je me demandais comment faire pour qu'ils soient utilisés par ceux qui ajoutent ma solution à leur site

Merci par avance

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

11 févr. 2021, 23:27

Pour des raisons de sécurité, les cookies sont propres au domaine qui les dépose.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 19 Messages

11 févr. 2021, 23:43

Comment je peux faire alors pour authentifier un utilisateur sur un autre site alors qu'il s'est déjà authentifier sur mon site

Je précise que c'est une clé de chiffrage de 64 lettres en random qui permet l'authentification (autrement dire que pour péter ça il faut y aller)
Merci pour ta réponse @@@@@rthur

Avatar du membre
Mammouth du PHP | 1564 Messages

12 févr. 2021, 09:15

Si c'est tes même sites et qu'ils ont une base de données uniques (comme un hébergement mutualisé/multisite avec 1 BDD), tu peux enregistrer l'utilisateur dans une table et voir sur ton autre site si cette colonne est à "on" ou "off".

[EDIT] non je dit des bêtises, il faut quand même le cookie de SESSION (PHPSESSID il me semble) et $_SESSION qui gère tout (ou avec des cookies d'authentification, comme le dit @rthur) pour le reconnaitre sinon tout le monde serait connecté.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

12 févr. 2021, 12:47

Comment je peux faire alors pour authentifier un utilisateur sur un autre site alors qu'il s'est déjà authentifier sur mon site
Tu peux passer un token via un paramètre dans l'url en GET, ou préférablement en POST si ton visiteur navigue depuis un de tes sites à un autre.

Ou alors peut être via un système de redirections de domaine en domaine au moment de l'identification justement pour faire passer ces paramètres...
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Mammouth du PHP | 1564 Messages

12 févr. 2021, 19:24

Tu peux passer un token via un paramètre dans l'url en GET, ou préférablement en POST si ton visiteur navigue depuis un de tes sites à un autre.
en brute force si on connait le nom du POST, c'est risqué, à part si on a un token de 30 mètres :P

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 févr. 2021, 20:21

Pas besoin de brute force... dès le moment où le token est envoyé sur le réseau, il peut être intercepté et réutilisé, que ce soit en get ou en post. Et s'il suffit à s'authentifier, même s'il est envoyé chiffré il pourra être réutilisé pour se connecter systématiquement...

Ce que tu veux faire s'appelle de la fédération d'identité. Cela te permet de te connecter une fois auprès d'un serveur d'identité et d'utiliser le token qui est ensuite véhiculé par le navigateur pour reconnaitre l'utilisateur (à la façon de Google ou Facebook). Il y a des protocoles pour cela (oAuth, SAML...) si tu veux jeter un oeil sur le net, mais ça n'est pas simple à mettre en oeuvre.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 19 Messages

12 févr. 2021, 20:59

Merci pour vos réponses, j'ai trouvé ça je vais essayer https://subinsb.com/set-same-cookie-on- ... t-domains/