1.sql注入原理
经过sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终欺骗服务器执行恶意的Sql命令html
解决方法:1.对用户输入进行校验,限制长度等前端
2.不要使用动态拼装sql,可使用参数化Sql或直接使用存储过程进行数据查询存取html5
3.不要使用管理员权限的数据库链接web
4.不要把机密信息明文存放sql
2.xss:攻击者往Web页面里插入恶意html标签或js代码(如:在论坛中放一个恶意链接,用户点开后,获取用于的cookie信息)数据库
解决方法:1.采用post而不是get跨域
post月get的区别:(1)get一般用来接收数据,post用来发送数据浏览器
(2)get传输数据上有长度限制,而post没有服务器
(3)get请求参数会留在浏览器上,而post不会cookie
2.避免直接在cookie泄漏用户的隐私
3.CSRF xss与csrf的区别:xss获取信息,不须要提早知道其余用户页面的代码和数据包
csrf代替用户完成指定动做,须要知道其余用户页面的代码和数据包
解决方法:1.在客户端页面增长伪随机数
2.经过验证码的方法
一个页面从输入URL到页面加载显示完成,这个过程发生了什么?
浏览器开启一个线程来处理这个url请求,同时在远程的DNS服务器上启动一个DNS查询,得到请求对应的IP地址
浏览器与远程Web服务器创建TCP链接
经过该TCP链接向远程服务器发送'HTTP'的'get'请求,远程服务器找到资源并使用HTTP响应返回该资源
Web服务器提供资源服务,客户端开始下载资源
接下里就是前端模块,浏览器解析HTML生成DOM树,再根据CSS渲染生成CSS DOM树,根据JSS生成DOM API操做。
浏览器本地存储
在较高版本的浏览器中,js提供了sessionStorage和globalStorage。在html5中提供了localStorage来取代globalStorage。
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问而且当会话结束后数据也随之销毁。所以sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
而localStorage用于持久化的本地存储,除非主动删除数据,不然数据是永远不会过时的。
sessionStorage、localStorage和cookie的区别
Web Storage是为了更大容量存储而设计的,cookie有大小限制
每次请求新页面的时候,cookie都会被发送过去
cookie须要做用域,不能够跨域访问
cookie须要前端开发者本身封装setCookie和getCookie,而Web Storage有本身的方法,如setItem,getItem
原文来自:https://blog.csdn.net/weixin_41330202/article/details/80345593