TOKEN验证防止CSRF攻击的原理
TOKEN验证防止CSRF攻击的原理。CSRF中文名是跨站请求伪造攻击,黑客可以通过CSRF攻击来伪造我们的身份,从而进行不法的活动。比如说是以我们的身份进行转账,发送邮件等操作。
要想做到预防CSRF攻击,首先需要了解CSRF攻击的原理,只有这样才可以真正的掌握预防的手段。CSRF攻击的原理是这样的:
(1):当我们登陆某个网站以后,因为HTTP协议是无状态的,所以为了保存我们的登陆状态,服务器中的程序就必须创建一个session文件,用来保存我们的登陆信息。
(2):为了能够在多个页面相互切换访问之间,记录我们的状态,服务端首先会将一个响应的session文件对应的session_id传递给客户端浏览器。浏览器接受到以后就会将这个值写入到一个cookie文件中。在下一次访问该网站的内容的时候,就会将客户端本地所存储的属于该网站的cookie全部发送给服务端程序,其中就包括存储session_id的cookie。服务端如果需要检测请求者的身份,就可以根据传递过来的cookie中所包含的session_id来检测服务端是否存在响应的session文件以及session文件中的内容是否合法。如果检测合法,那么就验证用户身份合法,否则不合法。
(3):如果黑客在其他页面设置了一个链接,这个链接指向一个网站的转账系统。并且当前用户是这个网站的会员,并且处于登陆的状态(也就是客户端浏览器存在存储合法的session_id的cookie),那么当用户点击了这个链接以后,那么客户端浏览器就会将用户的这些信息进行传递到服务端,但是这个链接具体做了什么,用户根本不知道,这也就做到了伪造了用户的身份,做了用户都不知道的事情。。。
那么应该怎么进行预防这种攻击那?目前主流的框架为了预防这种攻击,都是采用TOKEN机制。也就是说当用户与服务端进行交互的时候,传递一个加密字符串到服务端,服务端来检测这个字符串是否是合法的,如果不合法就有可能是黑客伪造用户信息进行请求的。
那么这个加密字符串是怎么生成的那?加密字符串是由后端程序生成,然后赋值到页面之上。一般是由当前控制器,方法,密钥,时间组合在一起加密而成。传递到服务端以后,服务端重新生成一遍,如果一致就是合法的,否则就是不合法的。
TOKEN验证防止CSRF攻击的原理的更多相关文章
- asp.netcore mvc 防CSRF攻击,原理介绍+代码演示+详细讲解
一.CSRF介绍 1.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session ridin ...
- CSRF攻击之原理讲解
|=——————————————————————=| |=————–=[ CSRF攻击原理解析 ]=——————=| |=——————————————————————=| |=——————-=[ By ...
- CSRF攻击原理及预防手段
CSRF全程 Cross Site Request Forgery, 跨站域请求伪造.这种攻击方式相对于XSS,SQL注入等攻击方式比较晚被发现,今天就来讲解下这种攻击方式以及避免方式. 攻击过程 ...
- CSRF攻击原理解析与对策研究
1.引言 跨站点请求伪造(Cross—Site Request Forgery).以下简称CSRF.是一种广泛存在的网站漏洞.Gmail.YouTube等著名网站都有过CSRF漏洞.甚至包 ...
- CSRF的原理与防御 | 你想不想来一次CSRF攻击?
CSRF是Cross Site Request Forgery的缩写,中文翻译过来是跨站请求伪造.这个漏洞往往能给用户带来巨大的损失,CSRF在等保安全检测中,也是一个非常重要的检测项.但是在我们的网 ...
- [转]浅谈CSRF攻击方式
在CSDN中看到对CSRF攻击的原理及防护文章,讲解浅显易懂,特转之: 来源:http://blog.csdn.net/fationyyk/article/details/50833620 一.CSR ...
- SQL 注入、XSS 攻击、CSRF 攻击
SQL 注入.XSS 攻击.CSRF 攻击 SQL 注入 什么是 SQL 注入 SQL 注入,顾名思义就是通过注入 SQL 命令来进行攻击,更确切地说攻击者把 SQL 命令插入到 web 表单或请求参 ...
- 安全|常见的Web攻击手段之CSRF攻击
对于常规的Web攻击手段,如XSS.CRSF.SQL注入.(常规的不包括文件上传漏洞.DDoS攻击)等,防范措施相对来说比较容易,对症下药即可,比如XSS的防范需要转义掉输入的尖括号,防止CRSF攻击 ...
- XSS攻击和CSRF攻击
一.什么是XSS攻击 XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web应用程序中的计算机安全漏洞.XSS通过在用户端注入恶意的可运行脚本,若服务器端对用户输入不进 ...
随机推荐
- 对List集合中的元素进行排序
原文:http://blog.csdn.net/veryisjava/article/details/51675036 Collections对List集合中的数据进行排序 有时候需要对集合中的元素按 ...
- springboot配置tomcat大全
server.tomcat.accept-count=100 # Maximum queue length for incoming connection requests when all poss ...
- Linux 挂载windows共享文件夹
Linux 挂载windows共享文件夹 准备工具: 1.windows 共享出来文件夹. 2.Linux 安装cifs文件挂载属性 3.其他 windows ip: 192.168.27.99 Li ...
- python老师博客
前端基础之HTML http://www.cnblogs.com/yuanchenqi/articles/6835654.html 前端基础之CSS http://www.cnblogs.com/yu ...
- Maven的下载以及配置
Maven的下载以及配置 Maven的两大核心作用: (1)依赖管理:对Jar包的依赖,解决Jar包之间的冲突 (2)项目构建:项目从编译到测试到运行发布 一.Mavenu的下载(现在的eclipse ...
- woocommerce调用产品相册gallery图片如何操作?wordpress技巧
wordpress官网有很多woocommerce模板,但有些客户要求定制模板,这时可能会碰到产品相册图片调用的问题,如果根据自带的Storefront主题来改很麻烦,那我们就自己定义吧!下来就随yt ...
- AppDomain.Unload_MarshalByRefObject
internal string GetClassInfo(string assemblyName, string className, string strField) { string ret = ...
- JSP中EL表达式的比较符号、字符串比较
在EL表达式中我们可以使用运算符以达到我们想要的结果,运算符按作用分为以下几种: 1.算术运算符 + 例如:${6+6} .注意:在EL表达式中的‘+’只有数学运算的功能,没有连接符的功能,它会试着 ...
- vue cli 常见问题汇总
以下是本人在用vue cli 开发项目里遇到的最基本的问题及解决方案汇总.没啥很多技术性的东西,各位看个乐呵就行~ 1.vue-cli 创建的项目各文件夹的含义 注意:通过vue-cli 4 创建的项 ...
- vuex2 mapActions 报错 `unknown action type: xxxx`
export const setBreadCrumb = ({ dispatch }, data) => { dispatch('SET_BREADCRUMB', data) } 当调用的时候报 ...