我的 Django 网站容易受到垃圾邮件的攻击,所以我想加入验证码保护。问题是很多组件来自第三方来源,不包括验证码验证。虽然我可以修改他们的观点,但这会影响代码的可移植性/可升级性,所以我宁愿不这样做。我只能修改他们的模板。
我有解决方案,但有点乱,在我开始实施之前,我想看看是否有人有更好的解决方案。
我的解决方案如下:
1) 将网站上的所有帖子表单重定向到一个“验证码反弹”应用程序,该应用程序将以编程方式重建他们的帖子请求,检查验证码是否正确,将验证令牌添加到帖子,然后重定向回原始帖子目标。
2) 实现一种新型的中间件,它将检查所有的 post 请求。如果发布请求未针对“验证码退回”网址,则中间件将返回错误,除非验证令牌存在。
正如我之前所说,这似乎是不必要的混乱。有没有人有更好的主意?