cookie

CookieDemo

一曲冷凌霜 提交于 2020-01-29 08:51:22
练习1、使用Cookie简化用户登录 需求说明: 用户首次登录时要求输入用户名和密码 登录成功后保存用户的登录状态 设置cookie的有效期为5分钟 在cookie有效期内,可无需登录直接进入欢迎页面 提示: 如果用户名和密码正确,创建Cookie保存信息 使用setMaxAge()方法设置Cookie的有效期 页面访问时首先读取Cookie进行用户信息判断 1.login.jsp < % @ page language = "java" import = "java.util.*" pageEncoding = "UTF-8" % > < html > < head > < title > 用户登录 < / title > < / head > < body > < h3 style = "text-align: center" > 用户登录 < / h3 > < form action = "do_login.jsp" method = "post" > < table border = "1" cellpadding = "10" style = "margin: 0px auto" > < tr > < td align = "center" > 用户名 < / td > < td > < input id = "uname" type = "text" name =

前端解决跨域的九种方法

谁都会走 提交于 2020-01-29 05:47:56
什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1、 资源跳转:A链接、重定向、表单提交 2、 资源嵌入: <link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链 3、 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 同源策略限制以下几种行为: 1、Cookie、LocalStorage 和 IndexDB 无法读取 2、 DOM 和 Js对象无法获得 3、 AJAX 请求不能发送 常见跨域场景 URL 说明 是否允许通信 http://www.demo.com/a.js http://www.demo.com/b.js 同一域名,不同文件或路径 允许 http://www.demo.com/lab/c.js http://www

用cookie登录(sessionId)

家住魔仙堡 提交于 2020-01-29 05:32:56
package login; import org.apache.http.HttpHost; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; public class CookieLogin { public static void main(String[] args) throws Exception { //1、创建httpClient实例 CloseableHttpClient httpClient = HttpClients.createDefault(); //2、创建请求 HttpGet httpPost = new HttpGet("https:/

会话技术概述_Cookie

人走茶凉 提交于 2020-01-29 05:18:46
## 会话技术 1.会话:一次会话中包含多次请求和响应。 (会话和生活中的谈话很类似,一次会话就是一次谈话,一次会话包括很多问与答,就像两个人只要都还在,没有走开,都算一次谈话的过程,而会话双方指的是客户端浏览器和服务器,只要客户端不关闭,或者服务器器端不关闭,这就始终在一次会话的范围内,就是说这一次会话范围内,就包含了多次请求并且也收到多次响应) ※1.一次会话:浏览器第一次给服务器资源发送请求,会话建立访。直到有一方断开位置 2功能:在一次会话的范围内的多次请求间,共享数据 (之前了解过http协议是无状态的,无状态的意思就是客户端发很多次请求,然后服务器给了多次响应,每一次请求响应之间和其他请求响应之间都是相互独立的,他们之间并不能进行数据的交流和交换,那么我们要进行数据的交流和交换,只能使用会话技术来解决这么一个问题) 3.方式: 1.客户端会话技术:Cookie(将来把数据存到客户端的) 2.服务器端会话技术:Session(将来是把数据存到服务器端的) ## Cookie: 1.概念:客户端会话技术,将数据保存到客户端 (比如现在有个客户端浏览器,和服务器,浏览器给服务器端发送了一次请求,服务器端给浏览器响应一次请求,后面还要很多次请求和响应,那么保存数据到浏览器是这个意思,首先呢,第一次请求的时候完成了,服务器会携带一些数据响应给浏览器的,那么响应给浏览器后

软件测试学习之路--Web测试

余生长醉 提交于 2020-01-28 21:30:58
Web测试 验证软件是否正确实现了需求规格说明书中明确定义的需求 验证软件是否遗漏了需求规格说明书中明确定义的需求 验证软件是否将需求规格说明书中未定义的需求实现 验证软件是否对异常情况进行了处理,容错性好 验证软件是否满足用户的使用需求 功能测试: 1.链接测试: 超链接与说明文字相匹配 超链接对应的URL地址存在 超链接未连接到任何地址,什么都不做 链接的描述须精简有效 主要借助工具或脚本遍历链接 2.表单测试: 表单界面内容显示正确性 页面是否有不该有的源代码 下拉列表的选择性和可填性 单选框的独选型 长文本的滚动条 文本框的格式化 页面缩放带来的文字环绕 每个字段的类型和实际所接受的数据类型 界面输入框的可承载长度,超过最长长度是否不显示 3.Cookie测试: Cookie的作用域是否合理 用于保存一些关键数据的Cookie是否被加密 Cookie过期时间是否正确 有选择性地拒绝Cookie 4.Session测试: Session不能过度使用,会加重服务器维护Session的负担 Session的过期时间设置是否合理 Session的建值是否对应 Session过期后客户端是否生成新的SessionID Session与Cookie是否存在冲突 5.脚本测试: 对客户端脚本(JavaScript)和服务器脚本(PHP)进行测试 从应用层关注相应的脚本功能

常见六大Web安全攻防解析

大兔子大兔子 提交于 2020-01-28 12:49:55
转自:https://www.cnblogs.com/fundebug/p/details-about-6-web-security.html 一、XSS XSS (Cross-Site Scripting),跨站脚本攻击,因为缩写和CSS重叠,所以只能叫XSS。跨站脚本攻击是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击 跨站脚本攻击有可能造成以下影响: 利用虚假输入表单骗取用户个人信息 利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求 显示伪造的文章或图片 XSS的原理是恶意攻击者往Web页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而可以达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的 XSS的攻击方式千变万化,但还是可以大致细分为几种类型 1.非持久型XSS(反射型XSS) 非持久型XSS漏洞,一般是通过给别人发送 带有恶意脚本代码参数的URL ,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行 举一个例子,比如页面中包含有以下代码: <select> <script> document.write('' + '<option value=1>' + location.href.substring(location

Django之AJAX

你。 提交于 2020-01-28 09:28:28
AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 * JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 啥都别多说了,上图吧! 合格的json对象: ["one", "two", "three"] { "one": 1, "two": 2, "three": 3 } {"names": ["张三", "李四"] } [ { "name": "张三"}, {"name": "李四"} ]  不合格的json对象: { name: "张三", 'age': 32 }        // 属性名必须使用双引号 [32, 64, 128, 0xFFF]            // 不能使用十六进制值 { "name": "张三", "age": undefined } // 不能使用undefined { "name": "张三", "birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'), "getName": function()

从零开始数据驱动接口自动化测试 cookie携带与写入- 08

别来无恙 提交于 2020-01-28 05:25:12
cookie的操作分为两种,一种是携带cookie,一种是写入cookie,因为有的接口的自动携带cookie,fiddler抓包在response下的cookies可以看到返回的json串,也就是cookie值,如果要获取到给后边的接口调用就要将其回写到cookie.json问文件中,也可以直接读取cookie.json的cookie,那么先看我们is_run的代码片 可见我们的接口requests接口是在res这里执行的,既然要携带cookie,那么我们的处理cookies的代码组就要在这儿插入,一种直接读取我们处理好的cookie传入requests,一种是通过res获取到cookie在写入我们处理好的cookies.json中,并且替换掉我们相应的cookie串字段。 看用例,cookie_handle字段我们有三种状态,分别对应写入,携带,no就是不执行cookie操作,那是是否执行就需要判断用例中cookie_handle字段,先上端伪代码 if cookie_handle == "yes": cookie = cookie.json文件中获取到的数据["对应字段的key"] if cookie_handle == "write": 获取cookie标识 = {"标识":"对应字段的key"} 那么问题来了,这个cookie.json是不是不存在

理解session机制

感情迁移 提交于 2020-01-28 04:22:17
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。 当 程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为 session id,如果已包含一个session id则说明以前已经为此客户端创建过session,服务器就按照session id把这个 session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成 一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个 session id将被在本次响应中返回给客户端保存。 保存这个session id的方式可以采用cookie,这样在交互过程中浏 览器可以自动的按照规则把这个标识发挥给服务器。一般这个cookie的名字都是类似于 SEEESIONID,而。比如weblogic对于web应用 程序生成的cookie,JSESSIONID= ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764,它的名字就是 JSESSIONID。 由于cookie可以被人为的禁止

Web信息安全实践_4.0 XSS_知乎1

一曲冷凌霜 提交于 2020-01-27 15:13:09
XSS攻击即为(Cross Site Scripting), 中文为跨站脚本。 之所以它的名字不是CSS而是XSS,是为了区分CSS。 XSS攻击是发生在 目标用户的浏览器 上的,当渲染DOM树的过程中执行了 不该 执行的JS代码时,就发生了XSS攻击。跨站脚本的重点不是“跨站”,而是“ 脚本” 页面执行不该执行的JS 我们首先来看一下,页面执行不该执行的JS是什么意思。譬如我们来看这个代码: // 假设有一个自动回答网站:在框内输入一个问题,这个问题是通过$_GET['q']获取的;网站后台接收用户输入,把用户输入展示在页面上。 Hello, your question is: <?php echo $_GET['q']; ?> // 接下来攻击者可以设计这么一个URL localhost/xss.php?q=<script>alert(1);</script> 大家想一想,这个URL点开一下,效果是什么? 再换一个URL呢? http://localhost/xss.php?q=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E 因此,所谓执行不该执行的JS代码的意思就是:用户通过各种方法向网站中注入了一些JS代码,而网站没有对用户的JS代码做任何检查,就直接把它有显示在了网站的页面上。因此,导致了用户注入的JS代码的运行。