美文网首页
CSRF攻击防御---验证HTTP Referer

CSRF攻击防御---验证HTTP Referer

作者: 莫夏_b560 | 来源:发表于2019-07-12 16:12 被阅读0次

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,会带上Referer,通过验证Referer,可以判断请求的合法性,如果Referer是其他网站的话,就有可能是CSRF攻击,则拒绝该请求。
request.getSchema()可以返回当前页面使用的协议,http 或是 https;
request.getServerName()可以返回当前页面所在的服务器的名字;

public class ReferrerInterceptor implements HandlerInterceptor {
    static final Logger logger = LogManager.getLogger(ReferrerInterceptor.class);
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String referrer = request.getHeader("referer");
        logger.debug("referrer:{}",referrer);
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append(request.getScheme()).append("://").append(request.getServerName());
        logger.debug("basePath:{}",stringBuffer);
        if(referrer==null||referrer.equals("")||referrer.lastIndexOf(String.valueOf(stringBuffer))==0){
            return true;
        }
        else{
            return false;
        }
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}

相关文章

  • 防御CSRF攻击

    防御CSRF攻击主要有三种策略:验证HTTP Referer字段,在请求地址中添加token并验证,在HTTP头中...

  • CSRF攻击防御---验证HTTP Referer

    HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,会带上Referer,通过验...

  • 前后端分离下如何防御CSRF攻击

    网上有很多关于防御CSRF攻击的文章,大都雷同。方法主要有三种: 检查Referer 使用CSRF Token 使...

  • 前端安全

    xss攻击:input插入script执行js或sql防御:encode然后验证,过滤非法数据 csrf攻击:用c...

  • Laravel - CSRF 攻击与防御

    CSRF攻击与防御-start 什么是CSRF攻击?CSRF是跨站请求伪造(Cross-site request ...

  • 网络安全系列(3) CSRF攻击

    1.CSRF概述 1.2 CSRF 攻击实例 1.3 CSRF 攻击的对象 2.当前防御 CSRF 的几种策略 2...

  • 2018-03-29

    CSRF的攻击与防御 一、CSRF简介 CSRF(Cross-Site Request Forgery,跨站点伪造...

  • 8-1、axios其他功能实现

    1、withCredentials 修改类型定义: 修改实现 2、CSRF防御 CSRF的防御手段有很多,比如验证...

  • CSRF攻击防御

    CSRF 攻击的应对之道web安全之token和CSRF攻击CSRF Token 的设计是否有其必要性? CSRF...

  • 每日安全资讯(2020.01.14)

    CSRF攻击防御原理因为现代浏览器的工作机制原因,造成一种WEB攻击形态的存在, 这种攻击形式叫做CSRF攻击,以...

网友评论

      本文标题:CSRF攻击防御---验证HTTP Referer

      本文链接:https://www.haomeiwen.com/subject/rckykctx.html