将AppEngine黑名单变为白名单

时间:2010-11-06 14:54:13

标签: python google-app-engine firewall whitelist blacklist

AppEngine允许定义黑名单,禁止从某些IP范围访问(http://code.google.com/appengine/docs/python/config/dos.html)。

我想做的是反向:白名单,只允许从某些IP范围访问。

我不是网络专家,所以我很感激一些帮助: 如果我想限制范围从130.100.120.0到130.100.123.255的IP访问,可以使用AppEngines黑名单机制完成,还是应该从我的应用程序中进行检查?

感谢。

2 个答案:

答案 0 :(得分:3)

不,AppEngine黑名单功能(记录here)可以更好地防止拒绝服务攻击等等。因此,包含黑名单IP的文件最多可以包含100个IP。因此,黑名单并非真正用于工业强度访问控制。

鉴于此,似乎您唯一的选择是在您的应用程序中进行检查。

答案 1 :(得分: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);
}