广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >如何跨域获取Cookie分析
  • 321
分享到

如何跨域获取Cookie分析

2024-04-02 19:04:59 321人浏览 薄情痞子
摘要

如何跨域获取Cookie分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。最近在发现使用Taobao的时候的一个小细节,于是便萌发起了写这

如何跨域获取Cookie分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

最近在发现使用Taobao的时候的一个小细节,于是便萌发起了写这篇文章。

当我们在 www.taobao.com 中进行登录之后,然后直接切换到 www.tmall.com 域名下,发现www.tmall.com首页的最顶部马上显示成了”您好, andyfaces“,于是便对此处的实现机制进行分析。

首先,用户名应该是存储在cookie中的,于是在taobao.com的域名中用 firefox看到用户名确实是存储在 cookie, 而tmall.com中没有存储该cookie:

如何跨域获取Cookie分析

可以确定的是对于cookie来说肯定是不允许垮域访问的。无论是通过js还是Server端程序来说都是如此,那么tmall.com是如何访问到taobao.com下的cookie的呢?

于是打开 tmall.com,然后使用firebug来进行调试,发现了一条这样的请求语句

如何跨域获取Cookie分析

其页面的JS代码为:

<script>            KISSY.getScript("Http://www.taobao.com/Go/app/tmall/login-api.PHP?"+Math.random())            </script>

看到这里之后于是也大概知道他如何处理了的,为了确认一下,于是搜索一下 KISSY.getScript 函数代码,确实采用了JS跨域的 JSONP 解决方案:

getScript: function(url, success, charset) {                var isCSS = RE_CSS.test(url),                    node = doc.createElement(isCSS ? 'link' : 'script'),                    config = success, error, timeout, timer;                        node.src = url;                    node.async = true;                    scriptOnload(node, function() {                        if (timer) {                            timer.cancel();                            timer = undef;                        }                            S.isFunction(success) && success.call(node);                            // remove script                        if (head && node.parentNode) {                            head.removeChild(node);                        }                    });                head.insertBefore(node, head.firstChild);          }

其原理是通过动态create js include 动态加载js,然后为该script节点bind onload事件或判断onreadystatechange,其具体细节可以参考以上 scriptOnload 的函数的处理。 当js加载完成之后 采用回调方式来执行 success 函数。

为了进一步确实,于是使用 Jquery的 $.getScript 来测试一把,首先在 taobao.com下进行登录成功,然后随便在本地写了一个测试页,通过以下语句:

$.getScript('http://www.taobao.com/go/app/tmall/login-api.php?0.6783450077710154', function(){        console.log("the taobao.com cookie object:" + userCookie + " username:" + userCookie._nk_);    });

Firbug结果:

如何跨域获取Cookie分析

其实大致原理如此,通过在www.taobao.com 的server端提供一个获取当前域下所有cookie的 php的请求地址,然后该php获取到cookie之后将期并成 js 代码,也就是以上第二个截图所看到的。然后再在 tmall 采用 jsonp 的方式跨域加载该 js 代码,从而实现 cookie 的跨域访问。

关于如何跨域获取Cookie分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网VUE频道了解更多相关知识。

--结束END--

本文标题: 如何跨域获取Cookie分析

本文链接: https://www.lsjlt.com/news/86489.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何跨域获取Cookie分析
    如何跨域获取Cookie分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。最近在发现使用Taobao的时候的一个小细节,于是便萌发起了写这...
    99+
    2022-10-19
  • ie7下如何利用ajax跨域盗取cookie
    这篇文章主要介绍“ie7下如何利用ajax跨域盗取cookie”,在日常操作中,相信很多人在ie7下如何利用ajax跨域盗取cookie问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2022-10-19
  • 如何实现ajax获取跨域数据
    这篇文章给大家分享的是有关如何实现ajax获取跨域数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图源码<html><head>  <script ...
    99+
    2023-06-08
  • 分析uniapp如何动态获取接口域名
    背景 接口域名没有写死,而是动态获取。具体实现就是 通过读取一个静态json文件,来设置真实的接口域名。好处是原域名有可能被封,这样可以直接后台操作修改该配置文件即可;不然的话,h5...
    99+
    2022-11-12
  • axios中cookie跨域及相关配置的示例分析
    这篇文章将为大家详细讲解有关axios中cookie跨域及相关配置的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、 带cookie请求 - 画个重点axios...
    99+
    2022-10-19
  • ajax跨域如何获取网站json数据
    这篇文章主要介绍了ajax跨域如何获取网站json数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。由于自己的公司的项目需要调用视频地址当为链接时:直接在播放器用数据库查找的...
    99+
    2023-06-08
  • SpringBoot中Ajax跨域及Cookie无法获取丢失问题怎么解决
    这篇文章主要介绍“SpringBoot中Ajax跨域及Cookie无法获取丢失问题怎么解决”,在日常操作中,相信很多人在SpringBoot中Ajax跨域及Cookie无法获取丢失问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好...
    99+
    2023-07-05
  • 网页Cookie如何获取
    这篇文章主要讲解了“网页Cookie如何获取”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“网页Cookie如何获取”吧!这里采用python2.7第一种:mechanize首先我们要使用me...
    99+
    2023-06-26
  • php如何获取cookie值
    本篇内容主要讲解“php如何获取cookie值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何获取cookie值”吧!在php中,可以使用超全局变量“$_COOKIE”来获取浏览器的Co...
    99+
    2023-06-20
  • 跨域设置Cookie失效问题解决方案原理分析
    目录问题出现场景代码实现如下登陆接口相关代码问题出现的解决方案如下反思和结语问题出现场景 在做登录功能时,想把用户的信息通过Set-cookie在客户端设置cookie信息。 1.服...
    99+
    2022-11-13
  • JS如何跨域取XML
    小编给大家分享一下JS如何跨域取XML,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!父页面HTML:代码如下:<iframe id="hidden...
    99+
    2023-06-08
  • PHP中如何进行跨领域分析和综合分析?
    近年来,跨领域分析和综合分析在数据分析领域越来越受到重视。在PHP编程语言中,我们也可以进行跨领域分析和综合分析,以发现数据中的更多信息和价值。本文将介绍PHP中的跨领域分析和综合分析方法。一、跨领域分析跨领域分析是指使用不同领域的知识来解...
    99+
    2023-05-21
    PHP 跨领域分析 综合分析
  • 如何获取IE浏览器Cookie信息
    这篇文章将为大家详细讲解有关如何获取IE浏览器Cookie信息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。很多人不知道如何去获取IE浏览器中的Cookie信息,其实获取...
    99+
    2022-10-19
  • 如何解决Ajax跨域访问Cookie丢失问题
    这篇文章将为大家详细讲解有关如何解决Ajax跨域访问Cookie丢失问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.ajax跨域访问,cookie丢失首先创建两个测...
    99+
    2022-10-19
  • 详解javascript如何在跨域请求中携带cookie
    目录1. 搭建环境2. 测试同源cookie3. 跨域请求携带cookie4. 总结5. 知识点1. 搭建环境 1.生成工程文件 npm init 2.安装 express npm...
    99+
    2022-11-13
  • jquery如何获取文本域
    对于Web开发者来说,jQuery是一个非常有用的库,它可以使JavaScript代码更加简洁和易于阅读。在jQuery中,有许多方法可以帮助开发者轻松地获取和操作HTML元素。本篇文章将重点讨论jQuery如何获取文本域(Textarea...
    99+
    2023-05-14
  • 如何使用axios解决跨域cookie丢失的问题
    这篇文章主要介绍如何使用axios解决跨域cookie丢失的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!设置 axios.defaults.withCredentials = ...
    99+
    2022-10-19
  • java如何获取请求域名?
    1、获取协议名和域名。 request.getScheme(); //得到协议名 例如:http request.getServerName(); //得到域名 localhost 2、获取全路径。 request.getRequestU...
    99+
    2023-09-01
    java servlet
  • 域名转移密码如何获取
    登录域名注册服务商网站,进入域名管理控制台;点击左侧的管理控制台>域名与网站>域名;找到需要转移的域名,点击管理;进入对应的域名管理页面,点击索取域名转移码,即可。...
    99+
    2022-10-25
  • jquery如何获取文本域的值
    使用jquery获取文本域值的方法:1.新建html项目,引入jquery;2.创建文本域,设置id属性;3.添加button按钮,绑定onclick点击事件;4.通过id获取文本域对象,使用text()方法获取文本域值;具体步骤如下:首先...
    99+
    2022-10-14
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作