key
- 键
value
- 值
expires
- 过期时间
domain
- 主域,不可以跨主域设置cookie,不过可以通过一些技术手段让,让需要被跨的那个站,配合一下进行实现,请继续往下看,下面有个解决方案1,可以让你做到跨域设置cookie
path
- 路径建议设置为/,这样就可以在别的路径下也可以读写
httponly
- 后端用这个属性设置cookie,前端用js无法读取被后端设置的cookie
跨域
跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 C网站,包括提交内容和获取内容。由于安全原因,跨域访问是被各大浏览器所默认禁止的。跨域是浏览器的限制。
那么问题来了, 例如我当前在访问A站点,因为我等会儿要跳到C站点去登陆,但是我想知道我登陆前做了什么
- 解决方案1 - 已实践,此方案行得通
- 把这些信息记录到C站点的cookie上,这时候就需要跨域设置cookie
- 首先,我需要和C站点的后端配合,在他那边要有一个页面setCookie.html,负责接收postMessage传递过去的消息,并设置cookie
- 其次,我当前站点有个隐藏的iframe,iframe的scr是C站点里的setCookie.html,当我执行一些操作想要记录的时候,我就通过这个iframe去postMessage一些信息过去,对方负责接收并设置cookie,就可以达到跨域设置cookie的效果了
- 解决方案2 - 未实践,按理说行的通
- 当我执行一些操作想要记录的时候,我就直接打C站的接口,让C站自行记录,但是这个接口要允许跨域,其实不允许跨域也没关系,毕竟我的消息是能传过去的,跨域导致的问题只是收到响应不能使用罢了
- 解决方案2 - 未实践,按理说行的通
- 当我执行一些操作想要记录的时候,我就直接打A站的接口,让A站的后端,通过服务端通信把数据带给C站的后端,当然这就是他们两个后端的事了,但是无论哪一种方案,都少不了你前端,看把你厉害的,先自行得瑟一会儿把
网友评论