Récupérer cookie via autre serveur

Fermé
Raydenprod Messages postés 77 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 27 mai 2013 - 27 mai 2013 à 10:04
 Pitet - 27 mai 2013 à 12:11
Bonjour,

Je viens vers vous car j'ai un petit soucis avec un cookie.
J'ai pour but de créer un cookie sur un serveur a et de le récupérer sur un serveur b de façon à pouvoir contrôler si un internaute est bien allé sur une page située sur le serveur a via le serveur b.


j'ai donc créer sur une page html du serveur b le script suivant :

[code]

<?php
// génère le cookie
$contenu = 'inscrit'; // le contenu de votre cookie
$expire = 365*24*3600;
setcookie("membre", $contenu, time()+$expire);
?>?

[/code]

Le cookie fonctionne bien.

En revanche mon petit soucis est que je veux récupérer ce cookie sur mon serveur a.
je préfère préciser que je veux juste vérifier si il existe et pas rechercher un quelconque contenu qui pourrait poser des soucis de droits.

Pour se faire j'ai donc (en javascript, si c'est possible j'aimerai mieux pouvoir utiliser le JS) créer ce script :

[code]
<script type="text/javascript">
<!--
function petittest(){
var pos = document.cookie.indexOf(membre+"=");
if( pos >= 0){
alert('Le cookie existe');
}
}

//-->
</script>
[/code]

Hors je ne récupère rien. Je suppose que ceci est dû au fait que je n'ai pas le droit de récupérer un cookie qui vient d'un autre serveur.

Auriez-vous donc une solution afin de palier à ce problème ?

D'avance merci



1 réponse

Salut,

Comme tu l'as presque deviné, un cookie est défini non pas pour un serveur mais pour un domaine (exemple.com) et ne peuvent pas etre récupéré sur un autre domaine (autre-exemple.com).

Une solution semble être d'utiliser des sous-domaines. Un cookie défini pour le domaine .exemple.com devrait être accessible pour les domaines www.exemple.com et secure.exemple.com.

Une autre solution serait de stocker sur le serveur A la visite de l'internaute (genre de cookie mais sur le serveur, enregistré en bdd ou via un simple fichier texte), puis d'interroger le serveur A directement depuis le serveur B. Ainsi on est normalement sur que le visiteur est passé par le serveur A, car avec la première solution, rien n'empêche le client de créer lui-même le cookie sur son poste et d'accéder directement au serveur B.

Bon courage
0