comment obtenir des cookies d'un domaine différent avec php et javascript
Supposons que j'ai un cookie défini dans first.com dire de l'utilisateur. Maintenant, je veux lire le cookie dans second.com à l'aide de javascript et ajax. Mais ça ne fonctionne pas.J'ai xmlHttp.status=0.
exemple de code
dans le deuxième domaine readcookie.php fichier
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject)
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
if(window.XMLHttpRequest)
xmlHttp=new XMLHttpRequest();
}
function readcookie(){
createXMLHttpRequest();
xmlHttp.open("GET","http://www.first.com/cookie.php",true);
xmlHttp.onreadystatechange=getcookie;
xmlHttp.send(null);
}
function getcookie(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var reply=xmlHttp.responseText;
if(reply){
alert(reply);
}
}
else
alert(xmlHttp.status);
}
}
dans le premier domaine cookie.php fichier
if(isset($_COOKIE['user'])){
echo $_COOKIE['user'];
}
else{
setcookie('user','a2345',0);
echo $_COOKIE['user'];
}
source d'informationauteur manashb | 2012-01-12
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas lire les cookies à partir d'un autre domaine de fin de.
La seule façon que je peux penser est d'ajouter un peu de code pour la 2ème domaine qui obtient les cookies pour vous et puis les placer dans une page sur la 1ère de domaine, dans un iframe.
Vous avez évidemment besoin d'un accès complet à la fois des domaines pour être en mesure de faire ce genre de chose.
Votre problème, c'est que les navigateurs ne laissera pas le javascript pour accéder à différents domaine. Ajouter:
lignes au début de cookie.php et ça marchera.
Encore, vous ne obtenir le cookie (ou au moins dans Chrome). Je ne pouvais pas encore comprendre pourquoi. Il me semble que si chrome crée une nouvelle session pour le javascript et ne laisser que l'accès à la session précédente cookies. Comme HttpOnly.