0

我的 Django 网站容易受到垃圾邮件的攻击,所以我想加入验证码保护。问题是很多组件来自第三方来源,不包括验证码验证。虽然我可以修改他们的观点,但这会影响代码的可移植性/可升级性,所以我宁愿不这样做。我只能修改他们的模板。

我有解决方案,但有点乱,在我开始实施之前,我想看看是否有人有更好的解决方案。

我的解决方案如下:

1) 将网站上的所有帖子表单重定向到一个“验证码反弹”应用程序,该应用程序将以编程方式重建他们的帖子请求,检查验证码是否正确,将验证令牌添加到帖子,然后重定向回原始帖子目标。

2) 实现一种新型的中间件,它将检查所有的 post 请求。如果发布请求未针对“验证码退回”网址,则中间件将返回错误,除非验证令牌存在。

正如我之前所说,这似乎是不必要的混乱。有没有人有更好的主意?

4

2 回答 2

0

这取决于应用程序消息,但:

  • 您通常可以将他们的视图包装到您的视图中并添加额外的处理
  • 您可以扩展他们的表单以添加您的验证码字段
  • 您可以添加额外的 javascript 检查模板标签,然后将其添加到您的模板中。
于 2012-08-12T09:27:29.487 回答
0

好的,我想通了。这应该可以通过使用中间件来实现。只需给它一个视图列表,它应该检查验证码的正确性。在错误响应的情况下,它会从请求中删除帖子和/或激活某种错误变量。简单得多。

于 2012-08-13T05:06:07.430 回答