Python 将AppEngine黑名单变为白名单
AppEngine允许定义黑名单,禁止从某些IP范围访问(http://code.google.com/appengine/docs/python/config/dos.html) 我想做的是相反的:一个白名单,只允许从某些IP范围访问 我不是什么网络专家,因此我希望能得到一些帮助: 如果我想将对IP的访问限制在130.100.120.0到130.100.123.255之间,那么可以使用AppEngines黑名单机制来实现,还是应该在应用程序中进行检查Python 将AppEngine黑名单变为白名单,python,google-app-engine,firewall,whitelist,blacklist,Python,Google App Engine,Firewall,Whitelist,Blacklist,AppEngine允许定义黑名单,禁止从某些IP范围访问(http://code.google.com/appengine/docs/python/config/dos.html) 我想做的是相反的:一个白名单,只允许从某些IP范围访问 我不是什么网络专家,因此我希望能得到一些帮助: 如果我想将对IP的访问限制在130.100.120.0到130.100.123.255之间,那么可以使用AppEngines黑名单机制来实现,还是应该在应用程序中进行检查 谢谢。不,AppEngine黑名单功能(有
谢谢。不,AppEngine黑名单功能(有文档记录)更能防止拒绝服务攻击等。因此,包含黑名单IP的文件最多可以包含100个IP。因此,黑名单并非真正用于工业级访问控制
鉴于此,您唯一的选择似乎是在应用程序中进行检查。创建一个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);
}
+ 1。当您使用应用程序进行检查时,您可能会考虑使用。这可以帮助您轻松地管理哪些IP块是空白的,并快速验证连接请求是否在白名单中。谢谢,但看起来它依赖于一些C扩展,而不能在AppEnnimeORE上使用,这是黑名单。esn不能保证它会阻止来自给定IP的所有请求——它的设计目的是为了改善DoS攻击——因此它确实会造成访问控制不佳。