将AppEngine黑名单转为白名单

5 投票
2 回答
1600 浏览
提问于 2025-04-16 06:40

AppEngine 允许设置黑名单,这样可以禁止某些 IP 范围的访问(http://code.google.com/appengine/docs/python/config/dos.html)。

我想做的是相反的事情:设置一个白名单,只允许某些 IP 范围的访问。

我对网络方面的知识不是很了解,所以希望能得到一些帮助:如果我想限制访问的 IP 范围在 130.100.120.0 到 130.100.123.255 之间,是否可以通过 AppEngine 的黑名单机制来实现,还是应该在我的应用程序内部进行检查?

谢谢。

2 个回答

0

创建一个Servlet过滤器。大概是这样的:

public void doFilter(ServletRequest req, ServletResponse res,
                     FilterChain chain) throws IOException, ServletException {

    // replace with your custom IP checking
    if (!req.getRemoteAddr().equals("127.0.0.1")) {
        HttpServletResponse response = (HttpServletResponse) servletResponse;

        // send any response 
        response.sendError(404);
    }

    filterChain.doFilter(req, res);
}
3

不,这个AppEngine的黑名单功能(详细说明可以在这里找到)主要是用来防止拒绝服务攻击等问题的。所以,存放被列入黑名单的IP地址的文件,最多只能包含100个IP。因此,这个黑名单并不是真正用来做强有力的访问控制。

考虑到这一点,你似乎只能在你的应用程序内部进行检查了。

撰写回答