Browse Source

Added @block_crawlers decorator.

Ralfp 12 years ago
parent
commit
fe11155315

+ 2 - 0
misago/activation/views.py

@@ -3,6 +3,7 @@ from django.utils.translation import ugettext as _
 from misago.banning.models import check_ban
 from misago.banning.models import check_ban
 from misago.banning.decorators import block_banned
 from misago.banning.decorators import block_banned
 from misago.banning.views import error_banned
 from misago.banning.views import error_banned
+from misago.crawlers.decorators import block_crawlers
 from misago.forms.layouts import FormLayout
 from misago.forms.layouts import FormLayout
 from misago.authn.methods import sign_user_in
 from misago.authn.methods import sign_user_in
 from misago.authn.decorators import block_authenticated
 from misago.authn.decorators import block_authenticated
@@ -13,6 +14,7 @@ from misago.users.models import User
 from misago.views import redirect_message, error404
 from misago.views import redirect_message, error404
 
 
 
 
+@block_crawlers
 @block_banned
 @block_banned
 @block_authenticated
 @block_authenticated
 @block_jammed
 @block_jammed

+ 3 - 0
misago/authn/views.py

@@ -4,6 +4,7 @@ from django.template import RequestContext
 from django.utils import timezone
 from django.utils import timezone
 from django.utils.translation import ugettext as _
 from django.utils.translation import ugettext as _
 from misago.admin import site
 from misago.admin import site
+from misago.crawlers.decorators import block_crawlers
 from misago.csrf.decorators import check_csrf
 from misago.csrf.decorators import check_csrf
 from misago.banning.decorators import block_banned
 from misago.banning.decorators import block_banned
 from misago.forms.layouts import FormLayout
 from misago.forms.layouts import FormLayout
@@ -17,6 +18,7 @@ from misago.bruteforce.models import SignInAttempt
 from misago.sessions.models import Token
 from misago.sessions.models import Token
 from misago.utils import get_random_string
 from misago.utils import get_random_string
 
 
+@block_crawlers
 @block_banned
 @block_banned
 @block_authenticated
 @block_authenticated
 @block_jammed
 @block_jammed
@@ -99,6 +101,7 @@ def signin(request):
                                             context_instance=RequestContext(request));
                                             context_instance=RequestContext(request));
 
 
 
 
+@block_crawlers
 @block_guest
 @block_guest
 @check_csrf
 @check_csrf
 def signout(request):
 def signout(request):

+ 9 - 0
misago/crawlers/decorators.py

@@ -0,0 +1,9 @@
+from misago.views import error403
+
+def block_crawlers(f):
+    def decorator(*args, **kwargs):
+        request = args[0]
+        if request.user.is_crawler():
+            return error403(request)
+        return f(*args, **kwargs)
+    return decorator

+ 2 - 0
misago/register/views.py

@@ -6,6 +6,7 @@ from django.utils.translation import ugettext as _
 from misago.banning.decorators import block_banned
 from misago.banning.decorators import block_banned
 from misago.bruteforce.decorators import block_jammed
 from misago.bruteforce.decorators import block_jammed
 from misago.bruteforce.models import SignInAttempt
 from misago.bruteforce.models import SignInAttempt
+from misago.crawlers.decorators import block_crawlers
 from misago.forms.layouts import FormLayout
 from misago.forms.layouts import FormLayout
 from misago.messages import Message
 from misago.messages import Message
 from misago.authn.decorators import block_authenticated
 from misago.authn.decorators import block_authenticated
@@ -14,6 +15,7 @@ from misago.register.forms import UserRegisterForm
 from misago.users.models import User
 from misago.users.models import User
 from misago.views import redirect_message
 from misago.views import redirect_message
 
 
+@block_crawlers
 @block_banned
 @block_banned
 @block_authenticated
 @block_authenticated
 @block_jammed
 @block_jammed

+ 2 - 0
misago/resetpswd/views.py

@@ -4,6 +4,7 @@ from misago.banning.models import check_ban
 from misago.banning.decorators import block_banned
 from misago.banning.decorators import block_banned
 from misago.banning.views import error_banned
 from misago.banning.views import error_banned
 from misago.bruteforce.decorators import block_jammed
 from misago.bruteforce.decorators import block_jammed
+from misago.crawlers.decorators import block_crawlers
 from misago.forms.layouts import FormLayout
 from misago.forms.layouts import FormLayout
 from misago.messages import Message
 from misago.messages import Message
 from misago.authn.decorators import block_authenticated
 from misago.authn.decorators import block_authenticated
@@ -13,6 +14,7 @@ from misago.views import redirect_message, error404
 from misago.utils import get_random_string
 from misago.utils import get_random_string
 
 
 
 
+@block_crawlers
 @block_banned
 @block_banned
 @block_authenticated
 @block_authenticated
 @block_jammed   
 @block_jammed