cookie

(二十七)WebDriver API之操作cookie

元气小坏坏 提交于 2019-12-04 10:25:13
随笔记录方便自己和同路人查阅。 #------------------------------------------------我是可耻的分割线-------------------------------------------   学习 selenium自动化之前,最好先学习HTML、CSS、JavaScript等知识,有助于理解定位及操作元素的原理。关于python和selenium安装请自行搜索别的资料, 这里就不多做介绍了,所有例子均使用 python3.6+selenium执行的。 #------------------------------------------------我是可耻的分割线------------------------------------------- 操作 cookie   有时候我们需要验证浏览器中 cookie 是否正确,因为基于真实 cookie 的测试是无法通过白盒和继承测试的。 WebDriver 提供了操作 cookie 的相关方法,可以读取、添加、和删除 cookie 信息。   WebDriver 操作 cookie 的方法:   get_cookies() :获得所有 cookie 信息。   get_cookie(name) :返回字典的 key 为“ name ”的 cookie 信息。   get_cookie

Cookie

我是研究僧i 提交于 2019-12-04 09:30:26
1. 含义 Cookie是服务器存储在浏览器中的一段文本信息,每次浏览器向服务器发送请求时,会携带这些信息。 实质是服务器的返回信息通过Set-Cookie的响应头,将服务器返回的Cookie信息存储到浏览器。 浏览器再发起同源请求时,自动将存储的Cookie通过请求头发送到服务器。 2. 特征 1. 只要域名和端口号相同,就可以共享Cookie;不要求协议相同。 2 单个域名对应的Cookie最好不超过30个 3. 单个Cookie的大小一般不超过4KB。否则被忽略。 3. 内容 1)服务器通过Set-Cookie字段返回需要存储的Cookie。一个字段对应一个Cookie。 如果需要存储多个,需要返回多个Set-Cookie字段。 该字段对应的值,可以包含所有的Cookie内容和属性。 Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly 如果服务器想修改一个Cookie,需要保证name, path, domain, secure属性全部相同; 否则相当于一条新的Cookie。 2)浏览器向服务器发起请求时,发送的Cookie通过分号+空格(; )分割 Cookie: name=value; name2=value2; name3=value3 // 只能发送名称和值

Buuctf刷题(持续更新)

坚强是说给别人听的谎言 提交于 2019-12-04 09:07:08
前言 希望自己能够更加的努力,希望通过多刷大赛题来提高自己的知识面。(ง •_•)ง easy_tornado 进入题目 看到render就感觉可能是模板注入的东西 hints.txt给出提示,可以看到url中的filehash 呢么意思就是如果知道cookie_secret的话,再结合md5的filename就可以读到/flllllag了把 其实到这里我就没什么思路了,对于render肯定存在模板的问题,百度了一下标题tornado Tornado 是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。 一搜,render组合tornado,全是这道题的题解,我惊了。。那就看着WP来复现把,而不是自己做出来。。。 随便删除了filehash后,跳到了这个页面。 可以看到msg参数,传入了Error,页面就显示Error,通过一般常用的{{}}来测试 通过查阅Tornado官方文档可以发现cookie_secret存在于 RequestHandler中 我们查阅资料发现 cookie_secret在RequestHandler.settings中 在 官方文档 中可以看到,在Tornado的前端页面模板中,Tornado提供了一些对象别名来快速访问对象。

jmeter cookies和token -- 9

末鹿安然 提交于 2019-12-04 08:35:08
现实中很多接口都会使用到cookies和token,现在简单了解一下: session    session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次session。服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。 这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失。 cookie    cookie是保存在本地终端的数据。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于 cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。 cookie的组成有:名称(key)、值(value)、 有效域(domain)、路径(域的路径,一般设置为全局:"\")、失效时间、安全标志(指定后,cookie只有在使用SSL连接时才发送到服务器(https))。 token    token的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time

cookie是啥?

三世轮回 提交于 2019-12-04 07:15:32
TTP是无状态(stateless)协议 http协议是无状态协议即不保存状态。大家看下图片感受下 无状态协议的优点: 由于不需要保存记录,所以减少服务器的CPU和内存的资源的消耗。毕竟客户端一多起来保存记录的话对于服务器端来说是一个巨大的消耗。 无状态协议的缺点: 比如当用户登录到淘宝,他转跳到淘宝的其他页面后,也需要保持登录状态。针对这种情况,web为了能够掌握是谁发送出的请求,需要保存用户的状态。如何保存呢?那就是 cookie 技术 来源: https://www.cnblogs.com/wqbin/p/11846224.html

自定义路由正则匹配、模板语法、请求响应、路由其他参数、session使用、闪现、before_request、中间件

痞子三分冷 提交于 2019-12-04 07:03:49
自定义路由正则匹配:# 添加到flask中# 我们要用自定义的路由,用正则的话# 1导入from werkzeug.routing import BaseConverter# 2我先要写一个类,然后继承BaseConverter,然后实现进行初始化,to_python(self, value),to_url(self, value)# 3 app.url_map.converters['regex1'] = RegexConverter# 4 我们在路由里面@app.route('/index/<regex1("\d+"):nid>'),regex1='谁便,regex1("正则表达式")# 5 regex1("正则表达式")匹配出来的结果,返回to_python,一定要return# 6 当我们做反向解析的解析的时候,我们的参数,会传递给to_url,return的结果才是我们拼接到我们路由上 from flask import Flask, views, url_for from werkzeug.routing import BaseConverter app = Flask(import_name=__name__) class RegexConverter(BaseConverter): """ 自定义URL匹配正则表达式 """ def __init__(self,

Flask框架

我怕爱的太早我们不能终老 提交于 2019-12-04 06:55:21
Flask 1, flask简介 2, flask四种主要工具 4, flask配置文件 5, flask路由 6, fbv讲解 7, fbv常用模式 8, flask之session 9, 闪现 10, 请求扩展 11, 中间件 ******************************************************************************************************************************************************************************* 1flask简介 百度百科:Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug , 模板引擎 则使用 Jinja2 。Flask使用 BSD 授权。 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染

flask大全

浪尽此生 提交于 2019-12-04 06:39:22
Flask 0.Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。 “微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策——比如使用何种数据库。而那些 Flask 所选择的——比如使用何种模板引擎——则很容易替换。除此之外的一切都由可由你掌握。如此,Flask 可以与您珠联璧合。 默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask 也许是“微小”的,但它已准备好在需求繁杂的生产环境中投入使用

子父域名解决cookie共享跨域问题

对着背影说爱祢 提交于 2019-12-04 05:43:58
// ############################ 用户登录成功 之后 保存到redis Cookie cookie=new Cookie(Conf.SSO_SESSIONID,sessionId); cookie.setPath("/"); cookie.setMaxAge(6000000); cookie.setSecure(false); cookie.setDomain("xxlssoserver.com"); response.addCookie(cookie); 这个在sso用的的 Conf.SSO_SESSIONID :你的cookie名称 sessionId:你的cookie的内容 cookie.setDomain("xxlssoserver.com"); :值得是bbs.xxlssoserver.com sso.xxlssoserver.com xxlssoserver.com 等子父域名可以共享 最后response出去 来源: https://my.oschina.net/u/4182459/blog/3128214

使用JSP的fmt标签实现国际化支持

时光总嘲笑我的痴心妄想 提交于 2019-12-04 05:34:29
使用JSP的fmt标签实现国际化支持 Smart-framework框架使用smart-plugin-i18n插件来完成国际化处理,原理相同,使用过滤器进行参数设置。 ==================== 使用JSP的fmt标签配置i18n国际化资源文件可以实现根据不同的地区和语言切换不同的显示. 具体做法如下: 1.在JSP页面中添加fmt标签的引用: <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 2.设置需要用到的bundle : <fmt:setBundle basename="i18n/i18n_${system_language}"/> 其中,system_language是从request中传入的 3.在需要显示变量的地方使用fmt标签来显示: <div style="font-size: large;color: darkcyan"> <fmt:message key="common.bookname"/> </div> 这里为了演示,假设我们需要显示的东西是是引用的资源文件里的common.bookname这个属性 4.在src/main/resources 路径下新建i18n文件夹(或者在其他的路径下也可以,编译之后,文件夹要在classes目录下),新建资源文件 i18n