2

不确定发布生产 django 应用程序的人的习俗,但我认为有某种保护机制可以防止垃圾视图的人?

如果视图没有实现缓存,而用户只是多次发送垃圾邮件 URL,那不是一件坏事吗?

我想要一些机制来阻止人们通过 IP 地址或诸如此类的东西,如果他们反复以高速率调用视图。

我尝试使用这个应用程序: http: //django-ratelimit.readthedocs.org/en/latest/install.html

但它立即不起作用,或者我的设置可能是错误的(有人用过吗?)。

谢谢。

4

2 回答 2

2

通常,这种安全性将发生在 Web 服务器级别,即在 Nginx 或您用于为您的应用程序提供服务的任何东西中。想想这样一个事实,为了在您的应用程序中阻止某人的 IP 在经过一定次数的尝试后,您需要在某处记录他们的 IP,然后检查传入的请求。如果要在您的应用程序中使用,那么这种功能最适合中间件级别。

如果您要在应用程序级别执行此操作以保护单个视图,那么我可能会通过装饰器来执行此操作。

无论如何,您应该为此建立一个机制,因为您所描述的也可能是正确上下文中的拒绝服务攻击。一些网络主机对此具有硬件级别的保护,因此也请向您的主机询问。

于 2013-08-27T18:44:58.333 回答
1

通常在生产中你有某种前端服务器。如果您的应用程序逻辑与请求数量无关,最好在前端完成这项工作。例如 Nginx 有 limit_req 模块: http ://nginx.org/en/docs/http/ngx_http_limit_req_module.html

于 2013-08-27T18:38:20.130 回答