cookie

Django之cookie和session

我与影子孤独终老i 提交于 2019-12-12 13:22:35
Django协议是无状态的。下一次去访问一个页面时并不知道上一次对这个页面做了什么。 无状态的 应用层面的原因 是:浏览器和服务器之间的通信都遵守HTTP协议。 根本原因 是:浏览器与服务器是使用Socket套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的Socket连接,而且服务器也会在处理页面完毕之后销毁页面对象。 有时需要保存下来用户浏览的状态,比如用户是否登录过,浏览过哪些商品等。 实现状态保持主要有两种方式: 在客户端存储信息使用Cookie。 在服务器端存储信息使用Session。 cookie cookie及其使用 cookie是由服务器生成,存储在浏览器端的一小段文本信息。 cookie的特点: 1)以键值对方式进行存储。 2)通过浏览器访问一个网站时,会将浏览器存储的跟网站相关的所有cookie信息发送给该网站的服务器。request.COOKIES 3)cookie是基于域名安全的。 www.baidu.com www.tudou.com 4)cookie是有过期时间的,如果不指定,默认关闭浏览器之后cookie就会过期。 cookie使用示例 设置cookie [url=] [/url] def set_cookie(request): """ 设置cookie信息 """ response = HttpResponse( " 设置cookie

Java Servlet工作原理问答

坚强是说给别人听的谎言 提交于 2019-12-12 12:16:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 导读 本文来自stackoverflow的问答,讨论了Java Servlet的工作机制,如何进行实例化、共享变量和多线程处理。 问题:Servlet是如何工作的?Servlet 如何实例化、共享变量、并进行多线程处理? 假设我有一个运行了大量 Servlet 的 web 服务器。通过 Servlet 之间传输信息得到 Servlet 上下文,并设置 session 变量。 现在,如果有两名或更多使用者向这个服务发送请求,接下来 session 变量会发生什么变化?究竟是所有用户都是用共同的变量?还是不同的用户使用的变量都不一样?如果是后者,服务器如何区分不同用户? 另一个相似的问题,如果有 *n* 名用户访问一个特定的 Servlet,那么该 Servlet 是仅在第一个用户首次访问的时候实例化,还是分别为每个用户实例化? 回答(BalusC): ServletContext 当 Servlet 容器(比如 Apache Tomcat )启动后,会部署和加载所有 web 应用。当web 应用被加载,Servlet 容器会创建一次 ServletContext ,然后将其保存在服务器的内存中。web 应用的web.xml 被解析,找到其中所有 servlet、filter 和 Listener 或

XSS的故事

不问归期 提交于 2019-12-12 11:50:01
浏览器的同源策略限制了一些跨域行为,但仍有些特例(img、iframe、script标签)不受跨域限制,这就给XSS攻击创造了机会(这完全不是同源策略的锅,一定是程序员的锅)。   在讲下面的内容前,还是要提一下Cookie,Cookie是用来辨别用户身份的重要依据。来做个形象的比喻,有一天,小A去了一家新开的理发店,店里的托尼老师不认识小A,于是小A就办了一张VIP卡,当小A第二次去这家理发店的时候,店里的托尼老师刷了下小A的卡,想起来了你是小A啊,今天搞什么样的造型啊~ Cookie就是那张VIP卡,用于辨别用户身份。   Cookie包含以下几个属性   采用 Name = Value 的键值对形式存储数据,Name是唯一的   Domain:域名,限制哪些域名下可以使用(该VIP卡仅限本店使用)   Path:路径,只有这个路径前缀的才可用(该VIP卡仅限烫头)   Expires:过期时间(该VIP卡有效期一年)   HTTP(HTTPOnly):只有浏览器请求时,才会在请求头中带着,JavaScript无法读写   Secure:非HTTPS请求时不带   SameSite:用于定义cookie如何跨域发送   Cookie就先简单说到这里,回到XSS攻击,后续讲到的XSS和CSRF攻击都会围绕着怎么获取Cookie来举例。   XSS(Cross-site

Cookies 和 Session的区别

╄→尐↘猪︶ㄣ 提交于 2019-12-12 11:01:46
Cookies 和 Session的区别 文章来源:https://blog.csdn.net/axin66ok/article/details/6175522 1.cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据。 2.session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。 注:为这个用户创建的Cookie的名称是aspsessionid。这个Cookie的唯一目的就是为每一个用户提供不同的身份认证。 3.cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。 4.cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。 简单的说,当你登录一个网站的时候, · 如果web服务器端使用的是session,那么所有的数据都保存在服务器上,客户端每次请求服务器的时候会发送当前会话的sessionid,服务器根据当前sessionid判断相应的用户数据标志,以确定用户是否登录或具有某种权限

session依赖于cookie --- 深入理解cookie和session

守給你的承諾、 提交于 2019-12-12 08:55:49
https://blog.csdn.net/fairyhawk/article/details/7992732 session和cookie两种方法存储区别基本都很清楚了。 但是面试中问到客户端是怎么知道打开浏览器的时候是如何知道去取服务端那个session的? session的内容是存在服务端的。客服端怎么知道是取那个的呢? 看下session存储的执行过程: 当用户请求servlet,servlet会首先查看客户端cookie中是否有sessionID,如果有则证明是旧的会话, 那么就通过cookie将sessionID发送到服务器,服务器就会根据sessionID到服务器的内存中查找 session对象(因为每个session都会有一个sessionID来标识session对象),找到之后然后使用。 如果cookie中没有sessionID这证明是一个新的会话。服务器就会创建一个新的Session对象, 然后将SessionID存放早cookie中,通过cookie把sessionID发送到客户端。客户端下一次访问的时候, 就会将SessionID发送到服务器以便再次找到这个session对象,完成会话跟踪所以如果用户将cookie关闭 session也将会失效。session是依赖与cookie的。 与cookie的区别与联系:cookie在客户端保存用户的信息

session和cookie自动登录机制

帅比萌擦擦* 提交于 2019-12-12 07:40:38
https://www.cnblogs.com/xfxing/p/9821338.html cookie的存储 cookie是浏览器支持的一种本地存储方式。以dict,键值对方式存储。 1 { "sessionkey" : "123" } 浏览器会自动对于它进行解析。 http请求是一种无状态的请求 用户向服务器发起的两次请求之间是没有状态的。也就是服务器并不知道这是同一个用户发的。 有状态请求(cookie) 服务器 a 发回来的 id 会放到服务器 a 的域之下。不能跨域访问cookie。 使用浏览器随便打开一个网页,然后 f12 打开。 比如我使用的 Chrome 浏览器 会找到存储在浏览器本地的cookie值 点击 clear all 清空所有的 cookie f5 刷新页面,会发现又把这些cookie值进来。 如果将用户名和密码直接保存在cookie,可以实现最垃圾最简略版本的自动登录。 解决cookie放在本地不安全的问题(session) 用户在第一次请求后,浏览器回复的id既可以是用户的user id。 也可以一段任意的字符串,我们把它叫做session id 根据用户名和密码,服务器会采用自己的规则生成 session id 。这个 session id 保存在本地cookie。浏览器请求服务器会携带。 1 2 3 输入用户名 & 密码 调用 login(),

python+selenium操作cookie

喜你入骨 提交于 2019-12-12 01:09:03
WebDriver提供了操作Cookie的相关方法,可以读取、添加和删除cookie信息。 WebDriver操作cookie的方法: get_cookies(): 获得所有cookie信息。 get_cookie(name): 返回字典的key为“name”的cookie信息。 add_cookie(cookie_dict) : 添加cookie。“cookie_dict”指字典对象,必须有name 和value 值。 delete_cookie(name,optionsString):删除cookie信息。“name”是要删除的cookie的名称,“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”。 delete_all_cookies(): 删除所有cookie信息。 ====================================================================================================================================== from selenium import webdriverfrom time import sleepdriver = webdriver.Firefox() # 指定和打开浏览器url1='http:/

Spring Boot配置文件加载顺序

江枫思渺然 提交于 2019-12-11 23:18:38
Spring Boot配置文件加载顺序 1、SpringBoot配置文件默认为application.*和application-default.*,如果通过spring.config.name属性指定了自定义配置文件名则加载读取指定的配置文件;扩展名有四个:*.properties、*.xml、*.yml、*.yaml; 2、spring.factories中加载配置文件的顺序为: 1 file:./config/application.properties 2 file:./config/application.xml 3 file:./config/application.yml 4 file:./config/application.yaml 5 6 file:./application.properties 7 file:./application.xml 8 file:./application.yml 9 file:./application.yaml 10 11 classpath:/config/application.properties 12 classpath:/config/application.xml 13 classpath:/config/application.yml 14 classpath:/config/application.yaml

会话技术之cookie详解

天大地大妈咪最大 提交于 2019-12-11 19:44:28
会话技术 会话:一次会话中包含多次请求和响应。一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 功能:在一次会话的范围内的多次请求间,共享数据 会话技术的方式: 客户端会话技术:Cookie 服务器端会话技术:Session Cookie 概念:客户端会话技术,将数据保存到客户端 快速入门: 使用步骤: 1. 创建Cookie对象,绑定数据 new Cookie(String name, String value) 2. 发送Cookie对象 response.addCookie(Cookie cookie) 3. 获取Cookie,拿到数据 Cookie[] request.getCookies() 实现原理 基于响应头set-cookie和请求头cookie实现 代码示例 新建servlet,用来设置cookie: 新建servlet,用来获取cookie: 先打开控制台,在浏览器访问setcookie,此时响应头里面有set-cookie字段: 再打开控制台,访问getcookie,会发现此时请求头中携带cookie信息,后端也打印出cookie的内容: cookie的细节 一次可不可以发送多个cookie? 可以,可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可。 代码示例

在Paw中如何处理Cookie

两盒软妹~` 提交于 2019-12-11 18:11:38
Cookie由服务器通过HTTP响应中的Set-Cookie标头设置,并由客户端通过Cookie标头 在HTTP请求中发回 。本文介绍的是在Paw中如何处理Cookie的方法。 默认情况下,Paw将服务器设置的cookie存储在Cookie会话中,并且在对同一域的后续请求中,cookie会自动发送回去。您可以在“ 选项”选项卡中根据每个请求禁用cookie的存储和/或发送。 多个Cookie会话 具有多个Cookie会话可让您模拟多个用户会话。从左侧栏的左上方选择活动的Cookie会话: 您可以看到每个会话中存储的cookie。单击“会话”菜单中的“ 管理 ”。 来源: CSDN 作者: 蓝色旧时光_ 链接: https://blog.csdn.net/xiaowanzi_li/article/details/103493298