我的Django网站容易受到垃圾邮件的攻击,所以我想加入验证码保护。问题是许多组件来自第三方来源,并且不包括验证码验证。虽然我可以修改他们的观点,这会影响代码的可移植性/可升级性,所以我宁愿不这样做。我只能修改他们的模板。
我有解决方案,但它有点乱,在我开始实施之前,我想看看是否有人有更好的。
我的解决方案如下:
1)重定向网站上的所有帖子表单以定位“验证码反弹”应用程序,该应用程序将以编程方式重建其帖子请求,检查验证码是否正确,向帖子添加验证令牌,然后重定向回原始帖子目标
2)实现一种新类型的中间件,它将检查所有发布请求。如果发布请求未定位到“验证码退回”网址,则除非验证令牌存在,否则中间件将返回错误。
正如我之前所说,这似乎是不必要的混乱。有没有人有更好的主意?
答案 0 :(得分:0)
这取决于应用消息,但是:
答案 1 :(得分:0)
好的,我明白了。这应该只能通过使用中间件来实现。只需给它一个应该检查验证码正确性的视图列表。在错误响应的情况下,它会从请求中删除帖子和/或激活某种错误变量。更简单。