cookie注意事项
cookie是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。
四种会话跟踪技术(URL重写、隐藏表单域、Cookie、Session)
服务端技术:URL重写,Session,Cookie。
客户端技术:Cookie,隐藏表单域。
web2.0应用趋势是动态页面加载,通过Session或URL重写识别用户,保存用户状态。
web3.0应用趋势是前后端分离,通过基于cookie的token识别用户,获取用户状态。
PS:token建议存放在cookies,而不要存放在LocalStorage 和 SessionStorage。
原因:LocalStorage 和 SessionStorage可以被js读取,而cookies 可以设置httponly 和secure 属性,提高鉴权机制安全性。
cookie的特点
同域,默认带请求凭据(cookie)
跨域,默认不带请求凭据(cookie)
session-cookie,关闭浏览器会删除,会话结束或者会话超时就删除。
cookie,关闭浏览器不会被删除,除非设置了expires/Max-Age,或者是浏览器清除cookies。
PS:防止cookie被篡改。
建议给cookie生成一个签名。
PS: 如果允许请求带cookies,会把所有的请求(图片,音视频,css,js)等资源都会发送cookies,从而降低了页面性能。
为此要使用CDN静态部署资源,避免静态资源请求发送cookie,提高请求的效率,节省请求带宽。
PS:跨域请求带cookies
实现:前端页面添加一个隐藏跨域iframe。
后端设置 Access-Control-Allow-Credentials: true。
Access-Control-Allow-Origin: * (这里注意使用通配符可能会报错)
应该为: Access-Control-Allow-Origin: "http://xxxx.com"
补充:关于客户端(浏览器)cookies限制问题。
IE无法使用cookie,原因是系统限制cookie。(出现这类情况可能使用系统优化软件导致)
cookie注意事项的更多相关文章
- jsonp跨域实现单点登录,跨域传递用户信息以及保存cookie注意事项
网站A:代码:网站a的login.html页面刷新,使用jsonp方式将信息传递给b.com的login.php中去,只需要在b.com中设置一下跨域以及接收参数,然后存到cookei即可, 注意:网 ...
- php中的cookie用法
cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别. cookie存放在客户端浏览器中,session保存在服务器上.它们之间的联系是session ID一般保存在 ...
- cookie工作原理
当客户访问某个基于PHP技术的网站时,在PHP中可以使用setcookie()函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在C:\Documents andSettings ...
- 【转】Session与Cookie的比较
最近发现写博客也是提高学习效率的有效途径之一.好记性不如烂笔头,归纳总结时,你会发现总有一些东西你认为很熟了,它却在细微处讽刺你的错误.我学习COOKIE与SESSION时,几乎把社区所有相关的帖子都 ...
- jQuery操作cookie
验证jquery的cookie插件时才知道原先文件一直在桌面上放着执行发现没有效果,文件必须放在web服务器下面执行才会生效,晕菜! $.cookie(name,value,{expires: 7,p ...
- Cookie&Session(会话技术)
一.Cookie技术 从打开一个游览器访问某个站点,到关闭这个游览器的整个过程成为一次会话 会话技术分为Cookie和Session Cookie:数据存储在客服端本地,减少对服务端的存储的压力,安全 ...
- cookie和sesssion
一.cookie cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别. cookie存放在客户端浏览器中,session保存在服务器上.它们之间的联系是sessio ...
- PHP中Cookie的使用
1.什么是Cookie? Cookie保存在客户端浏览器中,cookie是Http头的一部分,通过浏览器请求页面时,它会被通过Http头的形式发送过去.被请求的页面,可以通过PHP来获取cookie的 ...
- 会话技术: Cookie 和 Session
会话技术 会话技术:从浏览器开始访问服务器,到关闭浏览器,这期间发生了许多次请求和响应,这个过程就叫做一次会话. Cookie 和 Session 都是处理会话技术的两种具体实现,Cookie将数据保 ...
随机推荐
- nc扫描端口
nc -n -v -z -w 1 ip地址 1-1000 (端口号) 详细信息 -v 排除dns -n 不发送任何数据-z 超时设置为1秒 -w 1
- System Center Configuration Manager 2016 必要条件准备篇(Part1)
步骤4.创建系统管理容器 SCCM 2016 配置管理系列(Part 1- 4) 介绍AD01上配置了Active Directory域服务(ADDS),然后将Configuration Manag ...
- HDU 1305 Immediate Decodability 可直接解码吗?
题意:一个码如果是另一个码的前缀,则 is not immediately decodable,不可直接解码,也就是给一串二进制数字给你,你不能对其解码,因解码出来可能有多种情况. 思路:将每个码按长 ...
- ZooKeeper保证之单一视图(Single System Image)
由于ZooKeeper的数据模型简单且全部在内存中,ZooKeeper的速度非常快.它提供了一系列保证(Guarantees): • 顺序一致性(Sequential Consistency) • 原 ...
- selenium跳过https的问题
背景: 周六产品给我反馈:支付成功页面后会提示这个,问自动化为什么没有发现这样的问题 第一反应:这个地址肯定被举报了,我也肯定没有设置过安全链接,因为都没有见过这样的网址,如果有问题,应该会直接出错, ...
- 快速排序算法思路分析和C++源代码(递归和非递归)
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试喜欢考这个. 快速排序是C.R.A.Hoar ...
- PHP implode() 函数
转自:http://www.w3school.com.cn/php/func_string_implode.asp 语法 implode(separator,array) 参数 描述 separato ...
- 方法 -------JavaScript
本文摘要:http://www.liaoxuefeng.com/ 在一个对象中绑定函数,称为这个对象的方法. 在JavaScript的中,对象的定义是这样的: var xiaoming = { nam ...
- Oracle 字符串处理函数
字符串处理函数 ① substr(string,a,b)/substr(string,a) string 为字符串,string 表示需要截取的字符串. a.b 均为整型数字,a 表示开始截取的位置, ...
- .NET中变量生存期
Web窗体后台 cs 文件中,创建类作用域的变量,在关闭页面的时候并不会消失,当 IIS 站点被关闭的时候,才会调用这个变量的析构函数 但是好像也不肯定在关闭站点才会析构,应该是外层对象析构的时候才会 ...