java过滤器ip白名单_通过过滤器UnknownRefererSecurityFilter实现开放接口白名单授权访问,防止内容被盗爬...

一、前言

最近发现网站内容存在直接通过开放接口被抓取的的安全隐患,于是写了个安全过滤器UnknownRefererSecurityFilter实现允许白名单访问域接入到本站直接获取内容,之前也写过防止相关页面盗链的文章可以参考,该功能现在上线,测试效果如下图所示

ff6fff683f0e53f011ebd2c0f98d584d.png

二、代码示例

1. UnknownRefererSecurityFilter类内容如下所示package com.xwood.search.security;@b@@b@import java.io.IOException;@b@import java.io.PrintWriter;@b@import javax.servlet.Filter;@b@import javax.servlet.FilterChain;@b@import javax.servlet.FilterConfig;@b@import javax.servlet.ServletException;@b@import javax.servlet.ServletRequest;@b@import javax.servlet.ServletResponse;@b@import javax.servlet.http.HttpServletRequest;@b@import javax.servlet.http.HttpServletResponse;@b@@b@public class UnknownRefererSecurityFilter implements Filter {@b@    @b@    /**白名单配置单*/@b@    private static final String[] whiteLists={"xwood.net","139.196.30.182"}; @b@@b@    @Override@b@    public void init(FilterConfig filterConfig) throws ServletException {@b@        // TODO Auto-generated method stub @b@    }@b@    @b@    private boolean filterHeaderByWhileLists(HttpServletRequest hreq,String s_index){@b@        if(hreq.getHeader("Referer").indexOf(s_index)!=-1)@b@            return true;@b@        return false;@b@    }@b@    @b@    /**@b@     * 过滤白名单@b@     * @param hreq@b@     * @return@b@     */@b@    private boolean filterHeaderRefer(HttpServletRequest hreq){@b@        if(null==hreq.getHeader("Referer")){@b@            return false;@b@        }@b@        for(String s:whiteLists){@b@            if(filterHeaderByWhileLists(hreq,s))@b@                return true;@b@        }@b@        return false;@b@    }@b@@b@    @SuppressWarnings("unused")@b@    @Override@b@    public void doFilter(ServletRequest request, ServletResponse response,@b@            FilterChain chain) throws IOException, ServletException {@b@        // TODO Auto-generated method stub@b@        HttpServletRequest hreq = (HttpServletRequest) request;@b@        HttpServletResponse hres = (HttpServletResponse) response;@b@        boolean isAllowed=filterHeaderRefer(hreq); //防止非白名单通过搜索抓取本站内容@b@        if (isAllowed) {@b@            chain.doFilter(request, response);@b@        } else { @b@            PrintWriter out = hres.getWriter();@b@            out.println("Illegal access!!!");    @b@        }@b@    }@b@@b@    @Override@b@    public void destroy() {@b@    }@b@@b@}

2. 配置过滤器@b@        unknownRefererSecurityFilter@b@        com.xwood.search.security.UnknownRefererSecurityFilter@b@    @b@    @b@        unknownRefererSecurityFilter@b@        /*@b@    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: com.google.android.gms.policy_sidecar_aps是一个Android应用程序的包名。在Google Play服务框架中,com.google.android.gms是Google提供的一组开发者工具和服务的集合,用于支持Android应用程序的开发和运行。policy_sidecar_aps是这个集合中的一个具体组件或模块。 这个com.google.android.gms.policy_sidecar_aps模块很有可能是关于策略和辅助功能的应用程序。在Android系统中,策略通常指的是应用程序的安全策略和权限管理,这个模块可能提供相关的功能和API供开发者使用。而辅助功能通常指的是一些帮助用户操作和访问性的功能,比如屏幕阅读器、语音识别等,这个模块可能也与相关的辅助功能有关。 具体来说,com.google.android.gms.policy_sidecar_aps可能提供一些能够帮助开发者管理和设置应用程序权限的功能,或者提供一些能够帮助开发者实现辅助功能的API和工具。这样的模块可以使开发者更方便地开发和优化他们的应用程序,同时提高用户体验和安全性。它可能还包含一些关于设备策略和合规性的相关功能,以便开发者和企业可以更好地管理和保护他们的设备和数据。 总之,com.google.android.gms.policy_sidecar_aps是一个可能涉及到安全策略、权限管理和辅助功能的组件或模块,为Android开发者提供相关的功能和API。 ### 回答2: com.google.android.gms.policy_sidecar_aps是Google Play服务中的一个模块,用于在安卓设备上管理并执行特定的策略。该模块主要用于辅助应用程序,协助实施策略和规则,以确保设备的安全性和合规性。 该模块的具体功能包括但不限于以下几个方面: 1.设备策略管理:通过com.google.android.gms.policy_sidecar_aps模块,用户可以定义和管理与设备安全相关的策略,如密码要求、数据加密、应用程序安装和使用权限等。这样可以保护设备上的数据,并防止用户滥用权限。 2.远程命令执行:该模块可以接收并执行远程命令,包括锁定设备、擦除设备数据等操作。这样,即使设备丢失或被盗,用户可以通过远程执行命令来保护个人数据的安全。 3.安全审计和报告:com.google.android.gms.policy_sidecar_aps模块可以收集设备上的日志和审计数据,并生成报告,帮助用户了解设备的使用情况和潜在安全问题。这样可以帮助用户及时发现和解决安全风险。 总之,com.google.android.gms.policy_sidecar_aps模块是Google Play服务中的一部分,用于在安卓设备上管理和实施安全策略。通过该模块,用户可以保护设备和个人数据的安全,确保设备符合规定的安全要求,提升设备的安全性和合规性。 ### 回答3: com.google.android.gms.policy_sidecar_aps是一个作为Google Play服务的一部分的Android软件包。它的主要目的是为Android设备提供与政策和权限相关的功能。具体来说,policy_sidecar_aps主要用于处理和管理设备策略、许可和权限,以确保设备和应用程序的安全性和合规性。 在Android设备上,许多应用程序需要与设备的政策和权限进行交互。通过policy_sidecar_aps,应用程序可以访问和处理诸如设备锁定策略、屏幕超时策略、数据限制策略等设备相关的属性和策略。此外,它还提供了一种机制,用于应用程序与用户许可和权限进行交互,例如请求对敏感数据进行访问的权限。 policy_sidecar_aps还可以确保应用程序和设备的合规性。它可以检查设备以确保其遵守特定的政策和标准,例如GDPR(通用数据保护法规)或HIPAA(美国健康保险可移植性和责任法案)。如果设备不符合要求,它可以采取相应的措施,例如限制应用程序的访问权限或提醒用户采取必要的措施。 总之,com.google.android.gms.policy_sidecar_aps是一个在Android设备上处理和管理政策、许可和权限的关键组件。它确保设备和应用程序的安全性和合规性,以及提供用户与设备政策和权限进行交互的机制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值