`
knight_black_bob
  • 浏览: 822753 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

校验Referer头,防范CSRF(跨站请求伪造)攻击的拦截器

阅读更多

 

 

	public final static	String domainName = "192.168.2.123";

 

 

package com.web.interceptors;

import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.trace.web.utils.Constants;

/**
 * 对管理员操作,校验Referer头,防范CSRF(跨站请求伪造)攻击的拦截器
 * @author admin
 */
public class AuthInterceptor extends AbstractInterceptor {

	private static final long serialVersionUID = -2154056039548254482L;
	
	private static Logger log = Logger.getLogger(AuthInterceptor.class);

	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		String referer = ServletActionContext.getRequest().getHeader("Referer");
		if((referer!=null) && (referer.trim().startsWith(Constants.HTTP + Constants.domainName))){
			return invocation.invoke();
		}
		log.info("referer : " + referer);
		return "error";
	}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

0
2
分享到:
评论
3 楼 knight_black_bob 2015-12-29  
knight_black_bob 写道
MrLee23 写道
Referer是可以随便更改的,你这个方法只能防住小白

好吧 ,我也是小白。。。。

2 楼 knight_black_bob 2015-12-29  
MrLee23 写道
Referer是可以随便更改的,你这个方法只能防住小白

好吧 ,我也是小白。。。。
1 楼 MrLee23 2015-12-29  
Referer是可以随便更改的,你这个方法只能防住小白

相关推荐

    CSRF(跨站请求伪造)详细说明

    Cross-SiteRequestForgery(CSRF),中文一般译作跨站请求伪造。...在跨站请求伪造(CSRF)攻击里面,攻击者通过用户的浏览器来注入额外的网络请求,来破坏一个网站会话的完整性。而浏览器的安全策略是允许当前页面

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

    我们再来重温下CSRF的定义:CSRF英文全称是:Cross Site Request Forgery,中文是:跨站点请求伪造。CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击...

    防跨站伪造测试代码

    防跨站伪造测试代码,全套代码,保证实现源码

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

    CSRF防范辅助性对策 CSRF防范辅助性对策 1、CSRF主要防范对策 CSRF的主要防范对策有以下几点: 1、验证 HTTP Referer 字段。 2、在请求地址中添加token并验证。 3、在HTTP 头中自定义属性并验证。 4、AngularJS提供...

    cross-application-csrf-prevention:正确执行跨站点请求伪造预防

    本文档概述了在Rails内置的跨站点请求伪造预防机制中发现的问题,并包含可缓解上述问题的反CSRF解决方案的设计规范。 动机 在调查CSRF令牌相关的错误时,我们发现Rails中实现的CSRF预防机制存在一些问题。 Rails ...

    CSRF漏洞详细说明

    Cross-SiteRequestForgery(CSRF),中文一般译作跨站请求伪造。...在跨站请求伪造(CSRF)攻击里面,攻击者通过用户的浏览器来注入额外的网络请求,来破坏一个网站会话的完整性。而浏览器的安全策略是允许当前页面

    超全面javaweb教程28天第10天 12 request之使用Referer请求头完成防盗链

    超全面javaweb教程28天第10天_12_request之使用Referer请求头完成防盗链

    csrf绕过Referer技巧-01

    csrf绕过Referer技巧-01

    安全开发规范手册.docx

    2.6. CSRF跨站请求伪造 8 2.6.1. Token使用 9 2.6.2. 二次验证 9 2.6.3. Referer验证 9 3. 逻辑安全 9 3.1. 身份验证 9 3.1.1. 概述 9 3.1.2. 提交凭证 9 3.1.3. 错误提示 9 3.1.4. 异常处理 10 3.1.5. 二次验证 10 ...

    CSRF的攻击与防御

    根据HTTP协议,在HTTP头中有一个字段叫Referer,它记录了该HTTP请求的来源地址。...这时,该转帐请求的Referer...而如果黑客要对银行网站实施CSRF攻击,他只能在他自己的网站构造请求,当用户通过黑客的网站发送请求到银行

    详解php伪造Referer请求反盗链资源

    主要介绍了详解php伪造Referer请求反盗链资源,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    javascript操作referer详细解析

    本篇文章主要是对javascript操作referer进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨

    ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨

    php 伪造IP和HTTP-REFERER的方法

    php 伪造IP和HTTP-REFERER的方法,对于采集,匿名投票等很有用处

    request.getHeader("referer")防盗链

    HTTP headers是HTTP请求和相应的核心模块,它承载了关于客户端浏览器、请求页面、服务器等相关信息。Referer是HTTP头中的一个属性,告诉服务器我是从哪个页面链接过来的。

    php 伪造HTTP_REFERER页面URL来源的三种方法

    php获取当前页面的前一个页面URL地址,即当前页面是从哪个页面链接过来的,可以使用$_SERVER[‘HTTP_REFERER’],但是这个来源页面的URL地址是可以被伪造和欺骗的,本文章向大家介绍伪造HTTP_REFERER页面URL的三种...

    Java 通过设置Referer反盗链

    以前写过通过URLConnection下载图片等网络资源的代码,不过发现象新浪等网站,都不允许直接连接,所以增强了代码,通过模拟仿造referer来实现下载。

Global site tag (gtag.js) - Google Analytics