2010-06-09 1 views
0

Je suis en train de créer un script greasemonkey pour faciliter la publication sur craigslist pour nos clients.Passer des cookies avec la requête jquery ajax d'un autre domaine

Fondamentalement, le flux est la suivante:

  1. L'utilisateur se connecte dans notre système (cookies d'authentification établis avec asp.net)
  2. utilisateur accède à une section sur notre site appelé "CraigsList". Si le script greasemonkey est installé, il ouvre automatiquement Craigslist dans un nouvel onglet.
  3. Le script greasemonkey fait ensuite une demande à notre site au http://mysite.com/services.asmx/GetListings pour récupérer une liste des éléments disponibles pour être affichés sur craigslist.

C'est là, il échoue parce que la demande de http://mysite.com/services.asmx/GetListings n'inclut pas l'un des cookies d'authentification. Je ne suis pas sûr si cela n'inclut pas les cookies parce que la demande provient de craigslist.org et non mysite.com ou quoi. Je sais que c'est un problème d'authentification parce qu'en le regardant dans fiddler, il renvoie un 302 et redirige vers la page de connexion.

Voici ma demande:

$.ajax({ 
    url: "http://mysite.com/services.asmx/GetListings", 
    dataType: "json", 
    type: "post", 
    error: function(request, status, error) { 
     console.log("an error occurred getting the data"); 
    }, 
    success: function(data) { 
     console.log("got the data!!!"); 
    } 
}); 

Tout conseil serait apprécié.

+1

Ce serait, et je ne suis pas vraiment exagérer, ** briser l'Internet **. Tout site avec des sessions basées sur les cookies serait complètement non sécurisé, les emails d'hameçonnage n'auraient même pas besoin de vous connecter, ils pourraient juste obtenir votre cookie et partir. –

+0

Bon point. Je n'avais pas vraiment pensé à ça de cette façon. Risque total de sécurité. À quoi je pensais. Bien que, alors qu'est-ce que c'est pour: http://stackoverflow.com/questions/2054316/jquery-sending-credentials-with-cross-domain-posts – Micah

+0

Cela passe seulement * les cookies de votre * domaine à l'autre domaine ... le l'utilisateur n'aurait jamais passé les cookies dont vous avez besoin à votre domaine en premier lieu :) –

Répondre

1

Ce serait un énorme problème de sécurité s'il y avait un moyen pour un domaine d'accéder à des cookies de navigateur marqués avec un nom de domaine différent. Peut-être que votre script Greasemonkey peut extraire les cookies du cerveau du navigateur, mais si vous conduisez des choses en déposant du code sur votre page, les règles de sécurité normales vont être appliquées.

Questions connexes