我最近发现了一个我的Django网站,它是由一些爬虫发现的,它在登录页面上疯狂,在我注意到之前的几天内每分钟请求100-200次。我只是发现因为我的数据库备份开始爆炸,特别是因为django_sessions
表。我设置django-admin.py clearsessions
每天运行以清除过期的会话,但命令不会触及创建的数百万个会话。爬虫实际上并没有尝试登录,但是
我最终阻止了僵尸程序,将rel='nofollow'
添加到登录链接,并将Disallow: /login/
添加到robots.txt
,但从长远来看,这仍然表明可以出现并填写我的数据库垃圾。我该如何避免这种情况?我不知道为什么我甚至关心没有登录的用户的会话,我可以限制他们的会话吗?
我的会话中间件是django.contrib.sessions.middleware.SessionMiddleware
而我没有指定SESSION_ENGINE
(所以它是默认的,我推测)。