diff --git a/apps/jumpserver/settings.py b/apps/jumpserver/settings.py
index 7a84cf142..72053d3e5 100644
--- a/apps/jumpserver/settings.py
+++ b/apps/jumpserver/settings.py
@@ -303,3 +303,7 @@ BROKER_URL = 'redis://%(password)s%(host)s:%(port)s/3' % {
}
CELERY_RESULT_BACKEND = BROKER_URL
+
+# Captcha settings, more see https://django-simple-captcha.readthedocs.io/en/latest/advanced.html
+CAPTCHA_IMAGE_SIZE = (75, 33)
+CAPTCHA_FOREGROUND_COLOR = '#001100'
diff --git a/apps/jumpserver/urls.py b/apps/jumpserver/urls.py
index 138ea6d5a..0c1b83403 100644
--- a/apps/jumpserver/urls.py
+++ b/apps/jumpserver/urls.py
@@ -20,22 +20,14 @@ from django.views.generic.base import TemplateView
from django.http import HttpResponseRedirect
-# def view(request, **kwargs):
-# if kwargs:
-# print kwargs
-# return HttpResponseRedirect('/' + kwargs["module"] + '/' + kwargs["version"] + '/' + kwargs["api"])
-
-
urlpatterns = [
+ url(r'^captcha/', include('captcha.urls')),
url(r'^$', TemplateView.as_view(template_name='base.html'), name='index'),
url(r'^(api/)?users/', include('users.urls')),
url(r'^assets/', include('assets.urls')),
url(r'^terminal/', include('webterminal.urls')),
]
-#urlpatterns += [
-# url(r'^api/users/', include('users.api_urls')),
-#]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
diff --git a/apps/templates/captcha/field.html b/apps/templates/captcha/field.html
new file mode 100644
index 000000000..6979e870c
--- /dev/null
+++ b/apps/templates/captcha/field.html
@@ -0,0 +1,12 @@
+{{image}}{{hidden_field}}{{text_field}}
+
+
\ No newline at end of file
diff --git a/apps/templates/captcha/hidden_field.html b/apps/templates/captcha/hidden_field.html
new file mode 100644
index 000000000..36d7490a3
--- /dev/null
+++ b/apps/templates/captcha/hidden_field.html
@@ -0,0 +1 @@
+
diff --git a/apps/templates/captcha/image.html b/apps/templates/captcha/image.html
new file mode 100644
index 000000000..b4a415536
--- /dev/null
+++ b/apps/templates/captcha/image.html
@@ -0,0 +1,4 @@
+{% load i18n %}
+{% spaceless %}
+ {% if audio %}{% endif %}{% if audio %}{% endif %}
+{% endspaceless %}
\ No newline at end of file
diff --git a/apps/templates/captcha/text_field.html b/apps/templates/captcha/text_field.html
new file mode 100644
index 000000000..abf2a6fd4
--- /dev/null
+++ b/apps/templates/captcha/text_field.html
@@ -0,0 +1,7 @@
+