1.请求页面从输入URL到显示页面的过程
- DNS解析URL的过程
DNS解析就是将域名翻译成IP地址的过程 - 浏览器发送请求与服务器交互的过程
- 浏览器对接收到的html页面渲染的过程
https://www.cnblogs.com/qing-5/p/11126524.html
2. 简述三次握手和四次挥手
- 三次握手
1、Client端发送连接请求报文,
2、Server端接受连接后回复ACK报文,并为这次连接分配资源。
3、Client端接收到ACK报文后也向Server端发送ACK报文,并分配资源,这样TCP连接就建立了。
https://www.cnblogs.com/Rivend/p/12028409.html - 四次挥手
Client:FIN中断请求
Server:ACK,表示我知道了,稍等
Server:FIN,发送完了
Client:ACK,进入TIME_WAIT状态
3. 说一下xss攻击和跨域攻击,及防止方法
- XSS (Cross Site Script),跨站脚本攻击
原理:恶意攻击者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而可以达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的
- 非持久型 XSS 漏洞,Reflected XSS(基于反射的XSS攻击)
开发安全措施:
1、前端在显示服务端数据时候,不仅是标签内容需要过滤、转义,就连属性值也都可能需要。
2、后端接收请求时,验证请求是否为攻击请求,攻击则屏蔽。 - 持久型 XSS漏洞,Stored XSS(基于存储的XSS攻击)
1、后端在入库前应该选择不相信任何前端数据,将所有的字段统一进行转义处理。
2、后端在输出给前端数据统一进行转义处理。
3、前端在渲染页面 DOM 的时候应该选择不相信任何后端数据,任何字段都需要做转义处理。 - DOM-based or local XSS(基于DOM或本地的XSS攻击)
-
CSRF(Cross-Site Request Forgery),中文名称:跨站请求伪造攻击
CSRF 的防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般的 CSRF 防御也都在服务端进行。服务端的预防 CSRF 攻击的方式方法有多种,但思路上都是差不多的,主要从以下两个方面入手 :
1 . 正确使用 GET,POST 请求和 cookie
2 . 在非 GET 请求中增加 token -
SQL 注入漏洞(SQL Injection)是 Web 开发中最常见的一种安全漏洞