没事干的时候把凡客的首页扣下来研究了一下,在凡客的js代码里发现了一种跨域获取cookies的方法,基本原理是凡客的server端提供一个页面输出cookies字符串,client端采用jsonp的格式获取该cookies字符串。
原理其实是和CAS一样的
function setWelcome() {
$.getScript("http://my.vancl.com/Usercenter/GetUserName.ashx", function() {
if (typeof (data) != undefined && typeof (data) != "undefined" && data != "") {
$("#login").html("<a class='top' href='https://login.vancl.com/login/UserLoginOut.aspx' target='_parent' >退出登录</a>");
$("#welcome").html("您好,<a class='top' href='http://my.vancl.com/' >" + data + "</a>。<a class='top' href='https://login.vancl.com/Login/UserLoginOut.aspx?'" + window.location.href + " target='_parent' >退出登录</a>");
}
else {
return;
}
}
);
原文
分享到:
相关推荐
首先,IE7浏览器对AJAX的跨域请求有着较严格的限制,这主要是为了防止恶意脚本跨域获取数据,保障用户的数据安全。在IE7中,跨域请求通常不会成功,除非目标服务器端设置了适当的CORS策略,即"跨源资源共享"(Cross-...
首先,需要了解的是,在Ajax请求中,cookies是通过HTTP头中的`Cookie`字段携带的,而浏览器同源策略限制了跨域请求中`Cookie`字段的自动发送。为了实现跨域请求携带cookies,需要让浏览器知道该请求允许携带cookies...
这样,当Iframe加载admin.php时,浏览器会接受P3P头,允许在不同域之间设置和读取Cookie,从而实现跨域登录。 至于Session,虽然它看起来与Cookie不同,但它们在很多情况下密切相关。Session通常依赖于Cookie来存储...
- **P3P协议**:对于不同顶级域名,浏览器默认不允许跨域设置Cookie。但通过添加P3P头(Privacy Policy Platform),如`header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE...
解决跨域页面访问问题的办法是,在子系统的登录代码中加入 P3P 的认证,即允许第三方读取 cookie,这样 cookie 值才能被浏览器正确的读取并保存。P3P(Platform for Privacy Preferences)是一种隐私保护协议,允许...
何为跨域跨域session/cookie? 也就是第三方session/cookie。第一方session/cookie指的是访客当前访问的网站给访客的浏览器设置的seesion /cookie, 会被存储在访客的计算机上。第三方session/cookie指的是当前访问的...
同源策略是浏览器为了保障用户安全而实施的一种机制,它限制了Web页面只能读取同源(协议+域名+端口相同)的资源。当Ajax尝试向不同源发送请求时,浏览器会阻止这一行为,导致请求失败。 二、解决跨域的常见方法 1...
4. **响应**:浏览器接收到这个JavaScript代码后立即执行,将数据注入到预定义的`handleData`函数中,从而实现了跨域数据的获取。 ### JSONP的优点与局限性 #### 优点 1. **简单易用**:JSONP只需要在前端定义一个...
首先,要解决session跨域问题,关键在于设置session.cookie_domain。这个设置项允许你指定session cookie的域名。在ThinkPHP框架中,根据框架的配置文件或入口文件进行设置,来确保session能够跨域使用。 在...
3. 在HTTPS环境下,我们从URL参数中获取session ID,然后设置session ID并启动session: ```php $currentSessionID = $_GET['session']; session_id($currentSessionID); session_start(); ``` 4. 最后,我们可以...
登录后,信息被写入Cookie,每个页面都通过读取Cookie来判断用户状态。 在理解了验证机制后,尝试通过跨域写Cookie的方式实现SSO,但由于跨域限制,无法生成目标应用的Cookie。最后,通过对原始登录PHP文件的修改,...
解决办法同样是确保正确设置Cookie策略,使得Session能够在不同的页面间正确传递。 总的来说,针对IE浏览器中iframe跨域导致Session丢失的问题,关键在于理解浏览器对跨域Cookie的处理方式,特别是IE的独特限制。...
在 web 开发中,我们知道 cookie、session、localStorage都可以保存用户的数据,cookie的 domain、path 限制了 cookie 的跨域, 有数量和大小的限制,可以设置有效时间。 session是后台在浏览器注入一个设置了 ...
每次页面加载时,JavaScript读取Cookie中的时间值,恢复计时器。然而,Cookie的大小有限制,且存在跨域问题,不适合存储大量数据。 3. **使用Local Storage或Session Storage**:HTML5引入了这两个本地存储机制,...
3. session与cookie使用:合理使用session和cookie管理用户状态,避免跨域问题和安全风险。 4. 路由规则:正确配置路由规则可以避免URL访问问题,确保控制器和方法的正确调用。 5. 视图渲染:在使用模板引擎时,...
第三章 跨域交互缓存处理设计 17 3.1 跨域交互缓存处理需求 17 3.1.1 缓存技术WebStorage 17 3.1.2 跨域交互缓存处理需求 17 3.1.3 页面回退管理需求 17 3.2 缓存处理机制 18 3.2.1 跨域缓存处理 18 3.2.2页面回退...