`
clover灬
  • 浏览: 9508 次
  • 性别: Icon_minigender_1
  • 来自: 未来
社区版块
存档分类
最新评论

关于token防止CSRF的一点想法

    博客分类:
  • WEB
阅读更多
一、生成策略
    1、服务器端根据一定算法,生成token;
    2、保存到session中;
    3、前台form表单中取到session放到隐藏标签内;
    4、提交表单后和session中token比较,然后失效掉原先的session;

    示例代码:
class Token(){
		...
	
		session.setAttribute("TOKEN","token");

		...
	}



<form>
   <#-- freemaker取值方式 -->
   <input type="hidden" id="_token" name="_token" value="${TOKEN}" />
</form>
        

class Action(){
	...
	if(session.getAttribute("TOKEN").equals(request.getParameter("_token"))){}
	...		
	}


二、防止CSRF原理
用户请求信息的时候,被骇客获取中间请求信息,当然也会获取token信息,但是因为骇客并不能阻止用户请求到目标网站。
用户请求目标网站之后,token已经被校验。所以骇客获取的token信息依然无用。
当时骇客如果在用户请求到目标网站之前先去请求到目标网站,token的作用就没有了。

     
当然,预防CSRF攻击对refer校验也是不能少的。
分享到:
评论

相关推荐

    Tomcat怎样防止跨站请求伪造(CSRF) 1

    Tomcat 防止跨站请求伪造(CSRF)机制浅析 在 Web 应用开发中,跨站请求伪造(CSRF)是一种常见的安全威胁。跨站请求伪造攻击是指攻击者诱骗受信任用户访问恶意网站,从而使得恶意网站能以用户身份对受信任网站执行...

    83.WHUCTF之CSS注入、越权、csrf-token窃取及XSS总结_杨秀璋的专栏-CSDN博客1

    为了防止CSRF,Web应用通常会使用csrf-token,一个随机且唯一的字符串,将其包含在表单提交中,服务器通过检查这个token来验证请求来源的合法性。然而,如果这个token可以被攻击者获取,那么攻击者就可以构造伪造的...

    CSRF漏洞token防御介绍-01

    CSRF 漏洞 Token 防御介绍 CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种常见的 Web 应用安全漏洞,它允许攻击者在用户不知情的情况下,伪造用户的请求,导致用户执行非预期的操作。为了防御 CSRF 漏洞...

    struts token 防止页面刷新,重复提交

    ### Struts Token机制防止页面刷新及重复提交 在Web应用开发过程中,特别是在使用MVC框架如Apache Struts进行开发时,防止表单重复提交是一个重要的安全措施。表单重复提交通常发生在用户点击“提交”按钮后,由于...

    Invalid CSRF Token(解决方案).md

    Invalid CSRF Token(解决方案).md

    防止CSRF攻击.txt

    ### 防止CSRF攻击 #### 1. 引言 跨站请求伪造(Cross-Site Request Forgery,简称CSRF)是一种攻击方法,它迫使已登录的Web应用程序用户在其当前已经认证的情况下执行未授权的操作。攻击者通过在用户浏览器上发起...

    简解:CSRF的原理及防御

    简解:CSRF的原理及防御

    基于JSP的Java Web项目的CSRF防御示例

    ${_csrf.parameterName}" value="${_csrf.token}" /&gt; &lt;!-- 其他表单字段 --&gt; ``` 4. **处理异常**:在出现CSRF令牌验证失败的情况时,要有适当的错误处理机制,例如重定向到登录页或显示错误信息。 以上就是...

    【ASP.NET编程知识】浅谈ASP.NET MVC 防止跨站请求伪造(CSRF)攻击的实现方法.docx

    浅谈 ASP.NET MVC 防止跨站请求伪造(CSRF)攻击的实现方法 本文档对 ASP.NET MVC 中防止跨站请求伪造(CSRF)攻击的实现方法进行了详细的探讨。首先,文章介绍了 CSRF 攻击的定义和历史,然后通过一个模拟的示例,...

    详解如何在spring boot中使用spring security防止CSRF攻击

    Spring Boot 中使用 Spring Security 防止 CSRF 攻击 CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。CSRF 攻击可以盗用用户的...

    Laravel开发-laravel-token

    在Laravel框架中,令牌(Token)主要用于身份验证和安全性的关键方面,特别是表单提交、API调用以及跨站请求伪造(CSRF)防护。本文将深入探讨Laravel中的令牌管理,特别是在Laravel 4版本中的应用。 一、CSRF...

    Web应用安全:CSRF防范对策.pptx

    防止CSRF攻击的关键在于确保请求的完整性和合法性,通过验证额外的安全信息(如Token)以及监控请求来源,可以显著提高Web应用的安全性。开发者应当根据应用的具体情况选择合适的防范措施,以确保用户的数据安全不受...

    sturts2防止表单的重复提交 token

    4. **销毁Token**:无论表单处理成功还是失败,服务器都会从session中移除该Token,以防止后续的重复提交。 在实际应用中,我们可以通过Struts2的拦截器(Interceptor)实现这个机制。`...

    vue-csrf:一个Vue.js插件,用于获取CSRF令牌

    use ( VueCsrf , { selector : 'meta[name="csrf-token"]' , // selector of csrf element with csrf-token value attribute : 'content' , //attribute of csrf-token element} ) ; 然后您可以通过下一个命令获取...

    javaweb登录模块 , 双token + redis(防止多设备登录)

    通过限制refresh_token的刷新次数来防止截获的refresh_token重复请求从而能够一直保持登录状态 3、什么时候需要用户跳转到登录页面重新登录? 修改密码后 refresh token过期 用户登出后 refresh token刷新次数超过...

    详解php curl带有csrf-token验证模拟提交方法

    为了防止跨站请求伪造(CSRF)攻击,网站开发者会在表单中加入一个一次性使用的随机令牌(token)。该令牌会在服务器端生成,并在用户提交表单时验证其有效性。 本篇内容将详细介绍如何使用PHP curl进行带有CSRF...

    csrf-tokenservice:无状态CSRF(跨站请求伪造)令牌服务

    CSRF \ TokenService 无状态CSRF(跨站请求伪造)令牌服务 :meat_on_bone: 安装 $ composer require schnittstabil/csrf-tokenservice 用法 &lt;?php require __DIR__. '/vendor/autoload.php' ; use Schnittstabil...

    对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍

    总结来说,Laravel的CSRF防御机制是通过在用户会话中存储一个不可预测的令牌,并在表单中加入该令牌的隐藏字段csrf_token()实现的。当表单提交或API请求时,Laravel会对这个令牌进行校验,以确保请求是由合法用户...

    在django中使用post方法时,需要增加csrftoken的例子

    在Django框架中,为了确保Web应用的安全性,防止CSRF(Cross-site request forgery)攻击,开发者需要在处理POST请求时添加一个名为`csrftoken`的令牌。CSRF攻击是一种恶意用户在用户浏览器中利用已登录用户的权限...

Global site tag (gtag.js) - Google Analytics