honeypot for spambots
authorJan Szejko <janek37@gmail.com>
Fri, 7 Apr 2017 14:05:53 +0000 (16:05 +0200)
committerJan Szejko <janek37@gmail.com>
Fri, 7 Apr 2017 14:05:53 +0000 (16:05 +0200)
redakcja/settings/common.py
redakcja/templates/registration.html
redakcja/views.py
requirements.txt

index cad0951..83e720d 100644 (file)
@@ -127,6 +127,7 @@ INSTALLED_APPS = (
     'modeltranslation',
     'constance',
     'constance.backends.database',
+    'honeypot',
 
     'catalogue',
     # 'cover',
@@ -170,6 +171,7 @@ SHOW_APP_VERSION = False
 FORMS_BUILDER_EDITABLE_SLUGS = True
 FORMS_BUILDER_LABEL_MAX_LENGTH = 2048
 
+HONEYPOT_FIELD_NAME = 'miut'
 
 try:
     from redakcja.settings.compress import *
index 3b9a983..43a8c39 100644 (file)
@@ -1,5 +1,6 @@
 {% extends "catalogue/base.html" %}
 {% load i18n %}
+{% load honeypot %}
 
 {% block content %}
 <div class="row">
@@ -11,6 +12,7 @@
     <form enctype="multipart/form-data" method="POST">
     {% csrf_token %}
         {{ form.non_field_errors }}
+        {% render_honeypot_field %}
         <label for="title">{% trans "First name" %}</label>
             {{ form.first_name.errors }}
             <input class="form-control" name="first_name" type="text">
index 07c6d65..948a374 100644 (file)
@@ -7,6 +7,8 @@ from django.shortcuts import render, redirect
 from django.contrib.auth import authenticate, login
 from django.contrib.auth.models import User
 from django.core.mail import send_mail
+from honeypot.decorators import check_honeypot
+
 from .forms import RegistrationForm
 from catalogue.models import Document
 from organizations.models import Organization
@@ -33,6 +35,7 @@ def main(request):
     })
 
 
+@check_honeypot
 def register(request):
     if request.method == 'POST':
         form = RegistrationForm(request.POST, request.FILES)
index ecfa9a0..5ef9001 100644 (file)
@@ -25,6 +25,7 @@ jsonfield
 django-email-extras
 django-modeltranslation>=0.12,<0.13
 django-constance[database]
+django-honeypot
 
 celery>=3.1.12,<3.2
 kombu>3.0,<3.1