RxJavaJava服务器端编程编程语言爱好者

Web常用攻击手段-Http请求防盗链

2020-11-18  本文已影响0人  迦叶_金色的人生_荣耀而又辉煌

上一篇 <<<Web常用攻击手段-SQL注入
下一篇 >>>Web常用攻击手段-CSRF攻击


HTTP请求防盗链:只允许某个域名来源才可以访问。
比如A网站有一张图片或视频等资源被B网站直接通过img标签属性引入,直接盗用A网站图片展示,也有网络歌曲等无法直接播放。

危害:网站的图片等信息被别网站引用后,流量怎么消耗都不知道。

解决思路:
判断http请求头Referer域中的记录来源的值,如果和当前访问的域名不一致的情况下,说明该图片可能被其他服务器盗用。

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        // 1.获取请求头中的来源字段
        HttpServletRequest req = (HttpServletRequest) request;
        String referer = req.getHeader("Referer");
        if (StringUtils.isEmpty(referer)) {
            request.getRequestDispatcher("/imgs/error.png").forward(req, response);
            return;
        }
        // 2.判断请求头中的域名是否和限制的域名一致
        String domainUrl = getDomain(referer);
        // 正常情况 黑名单 白名单接口
        if (!domainUrl.equals(domainName)) {
            request.getRequestDispatcher("/imgs/error.png").forward(req, response);
            return;
        }
        // 直接放行
        chain.doFilter(req, response);
    }

相关文章链接:
<<<Web常用攻击手段-XSS攻击
<<<Web常用攻击手段-SQL注入
<<<Web常用攻击手段-CSRF攻击
<<<Web常用攻击手段-上传文件漏洞
<<<Web常用攻击手段-忘记密码
<<<Web常用攻击手段-其他漏洞
<<<安全技术--数据加密/认证技术
<<<安全技术--Https相关知识
<<<安全技术--接口幂等性设计
<<<安全框架--SpringSecurity
<<<安全框架--JWT
<<<安全框架--OAuth2
<<<安全架构整体设计方案

上一篇下一篇

猜你喜欢

热点阅读