2010-11-29 14 views
2

Um DOS-Arten von Angriffen auf meine Django-Website zu verhindern, erwäge ich, eine Captcha-Seite zu zeigen, wenn meine Web-App-Dinge es von einer bestimmten IP zu oft getroffen wird. Ähnlich wie bei SO, wenn Sie zu Mach-Aktivität zeigen."Sind Sie ein Mensch" Seite in Django

Wie ist der beste Weg, das in Django zu tun? Meine ersten Ideen sind bisher

  1. Ein Dekorateur vor jeder Ansicht
  2. Eine benutzerdefinierte django Middle

Was würden Sie vorschlagen? Vielleicht gibt es dafür schon Django-Apps?

Antwort

0

Eine benutzerdefinierte Middleware wäre am besten. Wenn ich Ihre Anforderungen verstanden habe, möchten Sie sowohl protokollieren, wie oft die IP die Web-App aufruft, als auch die Captcha-Seite zur Autorisierung anzeigen.

Denken Sie daran, dass dies Google und andere Suchmaschinen-Bots ausschließen wird, wenn Sie nichts hinzufügen, um speziell mit ihnen umzugehen (z. B. Überprüfung des Benutzeragenten usw.).

3

Sie haben Recht, es gibt bestehende Django Apps, die dies tun. Versuchen Sie, das Ganze selbst zu "entwerfen" (nicht zu codieren) & dann schauen Sie sich an, wie diese Apps implementiert sind. Du wirst so lernen. Hier sind die Links

  1. django-simple-captcha
  2. django-captcha
  3. django captcha & images