PHP lire un cookie qui est sur un autre domaine
J'ai deux domaines. Un domaine contient le script de connexion. Il crée un cookie lors de la connexion. Un autre domaine ont un raccourcisseur d'URL.
Sur le 2e domaine qui ont le Raccourcisseur d'URL de script un fichier nommé session.php. Habituellement, j'ai été en utilisant $_COOKIE['sessionid']
pour obtenir l'id de session et le faire correspondre à l'aide de la base de données.
Comment puis-je obtenir l'id de session maintenant? J'ai essayé plusieurs façons mais aucun d'eux n'a résoudre mon problème.
OriginalL'auteur pnm123 | 2010-05-27
Vous devez vous connecter pour publier un commentaire.
Pour d'évidentes raisons de sécurité, vous ne pouvez pas lire un cookie qui appartient à un autre domaine. Vous pouvez le faire à travers les sous-domaines.
Pourquoi ne pas ajouter l'id de session à l'transmis l'URL?
dans le cadre de la chaîne de requête:
http://mysite.com/page.php?sid=A12638BCEF2733
Est-il nécessaire de vérifier l'id de session à l'encontre d'une base de données dans la seconde demande? N'est-il pas suffisant de simplement vérifier l'existence d'un jeton (créé lors de la connexion réussie, détruit lors de la déconnexion) stockées dans la première application du cookie?
OriginalL'auteur Andy E
Avez-vous envisagé d'utiliser une authentification unique de mise en œuvre?
http://www.jasig.org/cas
http://en.wikipedia.org/wiki/Single_sign-on
Nous de l'utiliser au travail, c'est génial! Cela signifie que nous n'avez pas à vous inquiéter au sujet de ces types de problèmes.
LDAP
OriginalL'auteur Flukey
Les Cookies sont envoyés par le navigateur et uniquement dans le domaine, les cookies ont été fixés pour.
Il n'y a pas beaucoup (sens rien 😉 ) vous pouvez le faire.
Mais si vos domaines sont deux différents sous-domaines (par exemple,
login.yourdomain.com
etshortener.yourdomain.com
) il vous suffit de définir le nom de domaine, en conséquence de faire le cookie valable pour tous les sous-domaines.Dans ce cas, il serait
.yourdomain.com
.Vous pouvez lire la documentation de
setcookie()
.Peut-être que c'est mieux si vous les décrire clairement ce que vous voulez accomplir. Probablement il y a une autre solution qui n'implique pas de cookies.
Que voulez-vous dire avec ajout d'un fichier?
“Pas beaucoup” n'est pas rien. 😉
Kling: comme call_cookie.php. En fait, j'ai essayé cette. Je veux dire en utilisant $_COOKIE['....'] sur call_cookie.php et de l'appeler à l'aide de file_get_contents() mais ça ne fonctionne pas.
Kling: je suis en train d'utiliser .domain.com des biscuits tout autour de mon site.
OriginalL'auteur Felix Kling
Juste pendant le réglage d'un cookie à partir de la page de connexion
placer le biscuit à l'ensemble du domaine comme ce
de cette façon, vous pouvez placer le biscuit à l'ensemble de votre domaine.
OriginalL'auteur Ashutosh Kumar
Vous ne pouvez pas lire le cookie d'un autre domaine.
bien qu'il existe plusieurs façons de passer un id de session. Vous pouvez rechercher de manière pour le
cross-domain authorization
La façon la plus simple est de passer un id de session via la chaîne de requête
OriginalL'auteur Your Common Sense
Vous ne pouvez pas. Les Cookies sont liés à un seul domaine. Vous pouvez utiliser des cookies sur plusieurs sous-domaines.
OriginalL'auteur halfdan