将AppEngine黑名单转为白名单
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。因此,这个黑名单并不是真正用来做强有力的访问控制。
考虑到这一点,你似乎只能在你的应用程序内部进行检查了。