Skip to main content
 首页 » 编程设计

python之在 Django 中设置限制(防止对 View 的点击过多)

2024年08月28日33www_RR

不确定发布生产 django 应用程序的人的习俗,但我假设有某种保护机制来防止垃圾 View 的人?

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

我想要一些机制来阻止人们以 IP 地址或诸如此类的方式重复以高速率调用 View 。

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

但它很快就不起作用了,或者我的设置有误(有人用过吗?)。

谢谢。

请您参考如下方法:

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

如果您出于保护个人 View 的目的在应用程序级别执行此操作,那么我可能会通过装饰器来执行此操作。

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