`
clover灬
  • 浏览: 9304 次
  • 性别: 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进行开发时,防止表单重复提交是一个重要的安全措施。表单重复提交通常发生在用户点击“提交”按钮后,由于...

    防止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 攻击可以盗用用户的...

    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} ) ; 然后您可以通过下一个命令获取...

    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)实现这个机制。`...

    详解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...

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

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

    安全开发 | 如何让Django框架中的CSRF_Token通过AJAX的POST请求后端服务

    用过Django 进行开发的同学都知道,Django框架天然支持对CSRF攻击的防护,因为其内置了一个名为CsrfViewMiddleware的中间件,其基于Cookie方式的防护原理,相比基于session的方式,更适合目前前后端分离的业务场景。...

    Android OkHttp实现全局过期token自动刷新示例

    Android OkHttp实现全局过期token自动刷新示例 本篇文章主要介绍了Android OkHttp实现全局过期token自动刷新示例,解决了在Android开发中常见的问题,即如何在请求某个接口时自动刷新token。 首先,我们需要了解...

    CSRF漏洞防御-01

    "CSRF漏洞防御-01" CSRF漏洞防御是一种非常重要的安全机制,它可以...验证码防御、Referer Check防御、Anti CSRF Token防御和防止Token泄露都是非常重要的防御方法。只有通过这些方法的结合,才能更好地防御CSRF攻击。

Global site tag (gtag.js) - Google Analytics