作者:近乎团队
在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名。当你在浏览器中对一个域名设置了一个cookie,这个 cookie对于其它的域名将无效。如果你想让你的用户从两个不同域上登陆,那就有点麻烦了。我们看下跨二级域和主域是怎么实现登陆的。
跨二级域名
我们知道cookie是可以跨二级域名来访问,例如你 www.test1.com 在的web应用程序创建了一个cookie,要想在bbs.test1.com这样的二级域名对应的应用程序中访问,就必须 在创建cookie的时候设置domain参数domain=test1.com,设置为相同的主域
HttpCookie lcookie = HttpContext.Current.Response.Cookies[FormsAuthentication.FormsCookieName];
lcookie.Domain = "test1.com";
跨顶级域名
比如,现在是两个不同的域名:www.weibo.zz;www.video.zz 两个不同的域名,如果用单纯的用Jsonp 也可以实现,我测试在火狐和google 下,两个站点同时登录没有问题,但是IE 下没有记录Cookie,无法实现跨越登录,查阅了一些资料,终于找到解决方案:
需要在代码中添加如下代码,用两个域名分别访问就可以了。
HttpContext.Response.AddHeader("P3P", "CP=CAO PSA OUR");
这段代码是用来设置P3P响应头。是因为IE浏览器支持的P3P导致跨站点时cookie被阻止,无法创建cookie。
(FireFox目前还不支持P3P安全特性,FireFox自然也不存在此问题。不需要添加P3P响应头。)
相关推荐
要使用JavaScript实现Cookie的IP限制,我们需要在设置Cookie时记录该Cookie关联的IP地址。以下是一个简单的示例: ```javascript function setCookie(name, value, days, ipAddress) { var expires = ''; if ...
Internet Explorer 6(IE6)不支持P3P(Platform for Privacy Preferences Project)协议,可能导致Cookie在跨域时被拒绝。为了解决这个问题,可以在IIS服务器级别设置自定义HTTP头,添加P3P头信息。例如,设置头名...
在IE浏览器中,Cookie通常保存在"**C:\Documents and Settings\你的用户名\Cookies**"目录下的文本文件中,每个文本文件对应一个Cookie。 - **Cookie的不可跨域名性** 为保护用户隐私,Cookie具有不可跨域名的...
- `httpOnly`参数设为true可以防止XSS攻击,因为JavaScript无法访问设置了`httpOnly`的Cookie。 - Cookie的大小有限制,通常不超过4KB,包含名称、值和所有其他属性。 - 对于跨域和子域名共享Cookie,需正确设置`$...
在开发基于ThinkPHP框架的网站时,可能会遇到Cookie和Session之间的冲突导致Cookie无法正常工作的问题。这通常是由于HTTP头部信息的发送时机不当或配置不正确所引起的。以下是一些关于如何解决这种冲突以及理解...
5. **跨域问题**:确认CORS(跨源资源共享)头设置是否正确。 总结,"ie httpHeaders + fire httpHeaders 天涯浪子"描述的是利用特定工具进行HTTP头信息的查看和调试,这对于网页开发者、网络管理员以及对网络通信...
在本文中,我们将深入探讨如何使用C#编程语言来实现一个功能完备的标签式Internet Explorer(IE)浏览器。C#是一种强大的、面向对象的编程语言,由微软开发,广泛应用于Windows应用程序开发,包括桌面和Web应用。这...
Cookie是Web应用程序中常用的存储客户端数据的方式,它可以用来记录用户偏好、保持登录状态等。在LotusPhp中,使用Cookie组件需要遵循一定的步骤。 首先,创建一个配置文件`cookie.conf.php`,这个文件用于定义...
在开发环境中,通常需要开启浏览器的“允许来自文件的跨域请求”或使用服务器环境来正确处理Cookie。 2. 问题二:Cookie没有设置为永不过期,只考虑了一个时间段后过期,这在实际应用中可能不适用。合理的做法是...
通过它可以轻松查看HTTP缓存策略、Cookie管理、重定向路径以及各种HTTP头部信息,对于解决跨域问题、处理JSONP和AJAX请求等问题都大有裨益。 然而,值得注意的是,尽管HTTP_Watch主要面向IE浏览器,随着现代浏览器...
这些信息包括但不限于:方法(GET、POST等)、URL、状态码(如200 OK、404 NOT FOUND等)、协议版本、请求/响应头(如Cookie、User-Agent、Content-Type等)以及内容大小。通过这些信息,开发者可以深入理解页面加载...
这允许在单个Cookie下存储多个值,并通过数组索引来访问它们。 在实际应用中,这种方法可能用于记录用户浏览历史、保存购物车内容或其他需要在客户端保留的数据。需要注意的是,由于Cookie的大小限制(通常不超过4...
如果前后端不在同一个域名下,需要开启ASP.NET的CORS(跨源资源共享)设置,允许前端的WebUploader发起跨域请求。 8. **优化与性能** 为了提高上传性能,可以考虑使用多线程上传分片,同时监控服务器负载,动态...
Chrome Frame 会把最新版的Chrome Webkit 内核和JavaScript 引擎注入到IE中, IE浏览器将获得Chrome的性能和功能 目录 摘要 I ABSTRACT II 专业名词清单 III 第一章 绪论 1 1.1 研究背景与意义 1 1.2国内外相关...
- 设置`xhr.withCredentials = true`启用跨域的Cookie传输。 8. **进度条显示**: - `XMLHttpRequest`的`onprogress`事件提供上传进度信息,可以根据`event.loaded`和`event.total`计算百分比。 - 更新UI以显示...
149. 解决cookie跨域访问问题 150. 退出时增加是否清空Cookie信息的选择 151. 解决一直以来论坛编码解码上的一个潜在错误 152. 对一些页面进行瘦身,进行JS文件分离 154. 总专题及版面专题,预载数据更稳定...
20.3 利用IE userData持久化数据 20.4 应用程序存储和离线Web应用 第21章 多媒体和图形编程 21.1 脚本化图片 21.2 脚本化音频和视频 21.3 SVG:可伸缩的矢量图形 21.4 中的图形 第22章 HTML5 API 22.1 地理位置 22.2...