我正在学习“同源策略”和“跨站点请求”的基本知识。 问题是我可以获取当前域的cookie并通过jsonp将其发送到另一个域吗?
例如,有两个网站。 www.A.com
和www.B.com
。
如果用户登录A
,则用户浏览器中有A
的cookie。我们知道,由于Same-Origin-Policy的限制,我们无法将XHR与Cookie一起发送给B。但是我们可以使用js
获取cookie并使用jsonp
将其作为参数发送。
例如:
<script>http://www.B.com/xxx?cookies=REALCOOKIES
吗?
答案 0 :(得分:0)
如果我没看错,本质上就是Google Analytics(分析)跨域跟踪的工作方式。当用户单击指向另一个域的链接时,该cookie值将附加到该链接的查询字符串上,然后在另一端被提取,然后又变成一个cookie(或您要对其进行的任何处理) 。
如果您要谈论的是将Cookie从一个域读取到另一个域,则可以在服务器端执行此操作,前提是您拥有某种可用于两个域的资产请求,例如一个图像。 (本质上)这是会员,媒体横幅,facebook跟踪的工作原理,即广告的概念在您上网(人们还在上网吗?)的同时“跟随”您。
如果您是这两个域的开发者,则还可以编写一个API(服务器端),该API向域www.A.com发出请求并检索所需的Cookie。