我有一个Django web应用程序(带有nginx ),用户可以在其中发布有趣的状态消息。
一些用户正在使用脚本进行后洪水处理。我已经实现了fail2ban,所以很少有超过2-3秒的时间。但我需要知道是否还有其他方法可以阻止非人类的POSTer。就像想象一下在网站上突然弹出以下文字:
6:07.371806+00 | | 0 | 2
2772081 | Hfd
| 8322 | 11880 | 2016-03-14 09:0
7:01.909866+00 | | 0 | 2
2772090 | ...
| 8322 | 11880 | 2016-03-14 09:0
7:11.392105+00 | | 0 | 2
2772110 | .....
| 8322 | 11880 | 2016-03-14 09:0
7:33.172462+00 | | 0 | 2
2772119 | Kokjhd
| 8322 | 11880 | 2016-03-14 09:0
7:43.189524+00 | | 0 | 2
2772128 | Hfs
| 8322 | 11880 | 2016-03-14 09:0
7:52.209139+00 | | 0 | 2
2772171 | Lloo
| 8322 | 11880 | 2016-03-14 09:0
8:34.195006+00 | | 0 | 2
2772178 | Kkjh
| 8322 | 11880 | 2016-03-14 09:0
8:42.976177+00 | | 0 | 2
2772211 | Kkkkkk
| 8322 | 11880 | 2016-03-14 09:0
9:17.003594+00 | | 0 | 2
2772230 | Kmkkkjhhf
| 8322 | 11880 | 2016-03-14 09:0
9:33.680043+00 | | 0 | 2
2772238 | Lkkk 我的造型很别致。例如:
<form method="post" action="" enctype="multipart/form-data">
{% csrf_token %}
{{ form.description }}<br>
<input class="button" type="submit" value="OK">
</form>在我的代码中,有什么方法可以消除这种行为吗?例如,我知道用来阻止垃圾邮件机器人的蜜罐,但是恶意的人类脚本处理程序会淹没我的应用程序。我可能错过了一些最基本的东西?
请注意,很多时候洪水都是按., .., ..., ...., ....., ......, .......排序的(即重复字符,只需稍微修改一下我的逻辑,即不允许用户发布相同的东西两次)。我是否可以设置一些内容与来自同一个用户的前一篇文章相匹配的内容以95%的准确性限制发布请求的内容?听说过或尝试过这样的事情吗?请给我建议。
发布于 2016-03-19 21:46:42
看起来你需要控制用户请求。看看Django Throttle请求
https://stackoverflow.com/questions/36107479
复制相似问题