天天看點

校驗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捐助),沒錢捧個人場,謝謝各位。

校驗Referer頭,防範CSRF(跨站請求僞造)攻擊的攔截器
校驗Referer頭,防範CSRF(跨站請求僞造)攻擊的攔截器
校驗Referer頭,防範CSRF(跨站請求僞造)攻擊的攔截器

 謝謝您的贊助,我會做的更好!