1857 13

[其他] cookie的作用域以及跨域设置 [推广有奖]

  • 3关注
  • 9粉丝

已卖:4份资源

硕士生

26%

还不是VIP/贵宾

-

威望
0
论坛币
52254 个
通用积分
204.0034
学术水平
1746 点
热心指数
1744 点
信用等级
1740 点
经验
65720 点
帖子
96
精华
0
在线时间
76 小时
注册时间
2019-3-18
最后登录
2024-7-21

楼主
玩于股涨之中 发表于 2021-12-7 10:15:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Cookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为4KB左右,是网景公司的前雇员 Lou Montulli 在1993年3月的发明。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。

Cookie是一小段文本信息,伴随着用户请求在 Web 服务器和浏览器之间传递。它存储于访问者的计算机中,每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。
cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,也就是说,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。

cookie 将信息存储于用户硬盘,因此可以作为全局变量,这是它最大的一个优点。它最根本的用途是 Cookie 能够帮助 Web 站点保存有关访问者的信息,以下列举cookie的几种小用途。

保存用户登录信息。这应该是最常用的了。当您访问一个需要登录的界面,例如微博、百度及一些论坛,在登录过后一般都会有类似"下次自动登录"的选项,勾选过后下次就不需要重复验证。这种就可以通过cookie保存用户的id。
创建购物车。购物网站通常把已选物品保存在cookie中,这样可以实现不同页面之间数据的同步(同一个域名下是可以共享cookie的),同时在提交订单的时候又会把这些cookie传到后台。
跟踪用户行为。例如百度联盟会通过cookie记录用户的偏好信息,然后向用户推荐个性化推广信息,所以浏览其他网页的时候经常会发现旁边的小广告都是自己最近百度搜过的东西。这是可以禁用的,这也是cookie的缺点之一。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Cookie Cook COO Domain Main

玩于股涨之中:顺势而为

沙发
数据洞见 发表于 2021-12-9 09:56:52
一、Cookie的重要属性
Cookie有两个很重要的属性:Domain和Path,用来指示此Cookie的作用域:

domain字段为可以访问此cookie的域名,告诉浏览器当前要添加的Cookie的域名归属,如果没有明确指明则默认为当前域名,可以设置当前域名或者(父域名必须以“.”开始,例如.xxx.com)。为了保证安全性,cookie无法设置除当前域名或者其父域名之外的其他domain。

path字段为可以访问此cookie的页面路径。如果没有明确指明则默认为当前路径,比如通过访问。 比如domain是abc.com,path是/test,那么只有/test路径下的页面可以读取此cookie,"/"表示根路径。
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
yunnandlg + 100 + 100 + 5 + 5 + 5 精彩帖子

总评分: 经验 + 100  论坛币 + 100  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

藤椅
数据洞见 发表于 2021-12-9 09:57:23
二、同源策略
同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源"。所谓"同源"指的是"三个相同"。
同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制
同源策略:同一协议,同一域名,同一端口号。只要不满足三者其中一种都是属于跨域问题。

板凳
数据洞见 发表于 2021-12-9 09:57:39
三、什么是跨域?跨域有几种实现形式
基础概念
同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源"。所谓"同源"指的是"三个相同"。
同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。
只要协议、域名、端口有任何一个不同,都被当作是不同的域,跨域就是访问非本域的资源。

举几个简单的例子
1: https://www.a.com:8080http://www.a.com:8080的请求会出现跨域(域名、端口相同但协议不同)
2: https://www.a.com:8080https://www.b.com:8080的请求会出现跨域(协议、端口相同但域名不同)
3: https://www.a.com:8080https://www.a.com:9090的请求会出现跨域(协议、域名相同但端口不同)

跨域:跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互。

区别JSON和JSONP
JSON的全称为JavaScript Object Notation,是一种轻量级的数据交互格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简单来说,json就是一种用来传输数据的数据格式。
JSONP是一种非正式传输协议,该协议的一个要点就是允许用户传递一个callback(或者一开始就定义一个回调方法)参数给服务端,然后服务端返回数据时会将这个callback 参数作为函数名来包裹住 JSON 数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。

报纸
数据洞见 发表于 2021-12-9 09:58:00
介绍啥是cookie
当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就是cookie,它是Internet站点创建的,为了辨别用户身份而储存在用户本地终端上的数据,cookie大部分都是加密的,cookie存在与缓存中或者硬盘中,在硬盘中的是一些文本文件,当你访问该网站时,就会读取对应的网站的cookie信息,cookie有效地提升了用户体验,一般来说,一旦将cookie保存在计算机上,则只有创建该cookie的网站才能读取它

地板
数据洞见 发表于 2021-12-9 09:58:32
cookielib模块
python中自带的模块,用来处理cookie相关事情
该模块的几个主要对象
CookieJar
FileCookieJar
MozillaCookieJar
LwpCookieJar
它们的关系
CookieJar——>派生——>FileCookieJar——>派生——>MozillaCookieJar和LwpCookieJar

7
数据洞见 发表于 2021-12-9 09:58:36
cookielib模块
python中自带的模块,用来处理cookie相关事情
该模块的几个主要对象
CookieJar
FileCookieJar
MozillaCookieJar
LwpCookieJar
它们的关系
CookieJar——>派生——>FileCookieJar——>派生——>MozillaCookieJar和LwpCookieJar

8
数据洞见 发表于 2021-12-9 09:58:53
urllib2自定义opener
因为urllib2.urlopen()函数不支持验证、cookie、HTTP高级功能等,所以如果要支持这些功能必须使用build_opener()函数

创建自定义opener对象

build_opener([headler1[headler2,...]])
1
headler是Handler实例,常用的有HTTPBasicAuthHandler,HTTPCookieProcessor,ProxyHandler等

headler是处理器,所有繁重工作有headler处理,每个headler知道如何通过特定协议打开URLs或者如何处理URL打开各个方面

9
数据洞见 发表于 2021-12-9 09:59:07
下面是获取豆瓣的cookie保存到变量中
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: xulinjie time:2017/11/1
import urllib2
import cookielib

cookie=cookielib.CookieJar()#声明CookieJar对象实例来保存cookie
handler=urllib2.HTTPCookieProcessor(cookie)#利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
opener=urllib2.build_opener(handler)#通过handler构建opener
opener.open(r'http://www.douban.com')
for item in cookie:
    print 'Name ='+item.name
    print 'Value ='+item.value
    print 'Domain ='+item.domain
    print 'path ='+item.path

10
数据洞见 发表于 2021-12-9 09:59:23
以下是cookie的属性
name字段为一个cookie的名称。

value字段为一个cookie的值。

domain字段为可以访问此cookie的域名。

非顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不能设置其他二级域名的cookie,否则cookie无法生成。

顶级域名只能设置domain为顶级域名,不能设置为二级域名或者三级域名,否则cookie无法生成。

二级域名能读取设置了domain为顶级域名或者自身的cookie,不能读取其他二级域名domain的cookie。所以要想cookie在多个二级域名中共享,需要设置domain为顶级域名,这样就可以在所有二级域名里面或者到这个cookie的值了。
顶级域名只能获取到domain设置为顶级域名的cookie,其他domain设置为二级域名的无法获取。

path字段为可以访问此cookie的页面路径。 比如domain是abc.com,path是/test,那么只有/test路径下的页面可以读取此cookie。

expires/Max-Age 字段为此cookie超时时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。不设置的话默认值是Session,意思是cookie会和session一起失效。当浏览器关闭(不是浏览器标签页,而是整个浏览器) 后,此cookie失效。

Size字段 此cookie大小。

http字段  cookie的httponly属性。若此属性为true,则只有在http请求头中会带有此cookie的信息,而不能通过document.cookie来访问此cookie。

secure 字段 设置是否只能通过https来传递此条cookie

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 23:56