【发布时间】:2022-01-18 17:59:54
【问题描述】:
在 Django 中限制表单提交的最佳方法是什么? 表单应该在一小时内从同一个IP提交5次,有没有办法在Django中做到这一点?
我尝试了Django Ratelimit,但它并没有真正起作用,因为流量没有被阻塞。
【问题讨论】:
-
“表格应该在一小时内从同一个 IP 提交 5 次”——注意这一点。您可能正在使用 IP 地址作为其他东西的代理(用户?家庭?公司?),但是同一个用户可以很容易地拥有不同的 IP 地址(通过手机、VPN、他们的 ISP 给他们一个新地址等)和许多 人可以共享一个 IP 地址(例如,一百个人在一栋办公楼中)。你的实际目标是什么?我建议你阅读the XY problem。
-
确实如此。实际目标是限制表单的提交,例如防止 DDOS/DOS 或垃圾邮件攻击。