Уведомления

Группа в Telegram: @pythonsu

#1 Июль 9, 2016 01:26:14

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

CSRF token missing or incorrect.

Надо писать ПОЛНЫЙ traceback ошибки. Я вижу что токен вы не передаете, об этом и ругается. Для этого и надо делать то что я вам указывал - csrf(request)
Вы что то делаете явно не так. Но я не могу вам помочь - постоянно нету информации.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#2 Июль 9, 2016 12:47:12

Mahabharata871
Зарегистрирован: 2013-12-13
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

CSRF token missing or incorrect.

НУ простите новичку, не ругайтесь)
Вот трейсбек и чутка больше:

Error during template rendering
In template C:\Test_prolect_1\Appl_1\templates\blog\name.html, error at line 2
% csrf_token %
1 	<form action="/your-name/" method="post">
2 	    {% csrf_token %}
3 	    {{ form }}
4 	    <input type="submit" value="Submit" />
5 	</form>
Traceback Switch to copy-and-paste view
    C:\Python27\lib\site-packages\django\core\handlers\base.py in get_response
                            response = self.process_exception_by_middleware(e, request)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\core\handlers\base.py in get_response
                            response = wrapped_callback(request, *callback_args, **callback_kwargs)
         ...
    ▶ Local vars
    C:\Test_prolect_1\Appl_1\views.py in get_name
            return render_to_response("blog/name.html", c)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\shortcuts.py in render_to_response
                content = loader.render_to_string(template_name, context, using=using)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\template\loader.py in render_to_string
                return template.render(context, request)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\template\backends\django.py in render
                    return self.template.render(context)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\template\base.py in render
                            return self._render(context)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\template\base.py in _render
                return self.nodelist.render(context)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\template\base.py in render
                        bit = node.render_annotated(context)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\template\base.py in render_annotated
                    return self.render(context)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\template\defaulttags.py in render
                        return format_html("<input type='hidden' name='csrfmiddlewaretoken' value='{}' />{% csrf_token %}", csrf_token)
         ...
    ▶ Local vars
    C:\Python27\lib\site-packages\django\utils\html.py in format_html
            return mark_safe(format_string.format(*args_safe, **kwargs_safe))
         ...
    ▶ Local vars
Request information
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
Variable 	Value
csrftoken 	
'3abPEwr09bwWpfIrgNXzIJBSCrrXbo28'
META
Variable 	Value
TMP 	
'C:\\Users\\111\\AppData\\Local\\Temp'
PYTHONIOENCODING 	
'UTF-8'
COMPUTERNAME 	
'JOKER'
wsgi.multiprocess 	
False
VS140COMNTOOLS 	
'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\'
RUN_MAIN 	
'true'
HTTP_COOKIE 	
'csrftoken=3abPEwr09bwWpfIrgNXzIJBSCrrXbo28'
USERDOMAIN 	
'JOKER'
SERVER_PROTOCOL 	
'HTTP/1.1'
SERVER_SOFTWARE 	
'WSGIServer/0.1 Python/2.7.12'
PSMODULEPATH 	
'C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\'
SCRIPT_NAME 	
u''
COMMONPROGRAMFILES 	
'C:\\Program Files (x86)\\Common Files'
PROCESSOR_IDENTIFIER 	
'Intel64 Family 6 Model 42 Stepping 7, GenuineIntel'
REQUEST_METHOD 	
'GET'
PROGRAMFILES 	
'C:\\Program Files (x86)'
PROCESSOR_REVISION 	
'2a07'
SYSTEMROOT 	
'C:\\WINDOWS'
QUERY_STRING 	
''
PATH 	
'C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Broadcom\\Broadcom 802.11 Network Adapter\\Driver;C:\\Program Files\\Lenovo\\Bluetooth Software\\;C:\\Program Files\\Lenovo\\Bluetooth Software\\syswow64;C:\\Program Files (x86)\\Skype\\Phone\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;C:\\WINDOWS\\system32\\config\\systemprofile\\.dnx\\bin;C:\\Program Files\\Microsoft DNX\\Dnvm\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;C:\\Python27;C:\\Python27\\Scripts;C:\\Python27\\lib\\site-packages\\django\\bin;\xd1:\\MinGW\\bin;\xd1:\\MinGW\\msys\\1.0\\bin;C:\\Python27\\lib\\site-packages\\pywin32_system32;C:\\Python27\\lib\\site-packages\\pywin32_system32'
PYTHONUNBUFFERED 	
'1'
PROGRAMFILES(X86) 	
'C:\\Program Files (x86)'
WINDOWS_TRACING_FLAGS 	
'3'
CONTENT_LENGTH 	
''
HTTP_USER_AGENT 	
'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0'
HTTP_CONNECTION 	
'keep-alive'
WINDOWS_TRACING_LOGFILE 	
'C:\\BVTBin\\Tests\\installpackage\\csilogfile.log'
REMOTE_ADDR 	
'127.0.0.1'
COMMONPROGRAMFILES(X86) 	
'C:\\Program Files (x86)\\Common Files'
PROCESSOR_ARCHITECTURE 	
'x86'
wsgi.url_scheme 	
'http'
ALLUSERSPROFILE 	
'C:\\ProgramData'
SERVER_PORT 	
'8000'
LOCALAPPDATA 	
'C:\\Users\\111\\AppData\\Local'
FPS_BROWSER_USER_PROFILE_STRING 	
'Default'
HOMEPATH 	
'\\Users\\111'
USERDOMAIN_ROAMINGPROFILE 	
'JOKER'
PROGRAMW6432 	
'C:\\Program Files'
USERNAME 	
'111'
HTTP_ACCEPT 	
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
LOGONSERVER 	
'\\\\JOKER'
COMSPEC 	
'C:\\WINDOWS\\system32\\cmd.exe'
PROCESSOR_LEVEL 	
'6'
PROGRAMDATA 	
'C:\\ProgramData'
PYTHONPATH 	
'C:\\Test_prolect_1'
wsgi.multithread 	
True
CSRF_COOKIE 	
u'3abPEwr09bwWpfIrgNXzIJBSCrrXbo28'
TEMP 	
'C:\\Users\\111\\AppData\\Local\\Temp'
FPS_BROWSER_APP_PROFILE_STRING 	
'Internet Explorer'
wsgi.input 	
<socket._fileobject object at 0x038445F0>
wsgi.errors 	
<open file '<stderr>', mode 'w' at 0x0273D0D0>
HTTP_HOST 	
'127.0.0.1:8000'
SESSIONNAME 	
'Console'
PATHEXT 	
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
CSRF_COOKIE_USED 	
True
PATH_INFO 	
u'/'
FP_NO_HOST_CHECK 	
'NO'
WINDIR 	
'C:\\WINDOWS'
wsgi.file_wrapper 	
''
HTTP_ACCEPT_ENCODING 	
'gzip, deflate'
wsgi.version 	
(1, 0)
MOZ_PLUGIN_PATH 	
'C:\\Program Files (x86)\\Foxit Software\\Foxit Reader\\plugins\\'
HOMEDRIVE 	
'C:'
SERVER_NAME 	
'JoKeR'
wsgi.run_once 	
False
REMOTE_HOST 	
''
SYSTEMDRIVE 	
'C:'
GATEWAY_INTERFACE 	
'CGI/1.1'
HTTP_ACCEPT_LANGUAGE 	
'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3'
PYCHARM_HOSTED 	
'1'
NUMBER_OF_PROCESSORS 	
'4'
APPDATA 	
'C:\\Users\\111\\AppData\\Roaming'
DJANGO_SETTINGS_MODULE 	
'Test_prolect_1.settings'
CONTENT_TYPE 	
'text/plain'
PROCESSOR_ARCHITEW6432 	
'AMD64'
COMMONPROGRAMW6432 	
'C:\\Program Files\\Common Files'
OS 	
'Windows_NT'
PUBLIC 	
'C:\\Users\\Public'
USERPROFILE 	
'C:\\Users\\111'

Офлайн

#3 Июль 11, 2016 11:51:53

Mahabharata871
Зарегистрирован: 2013-12-13
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

CSRF token missing or incorrect.

Лучше поздно, чем никогда, но сегодня я досмотрелся вот до чего: в name.html я указываю метод POST

<form action="/your-name/" method="POST">
    {% csrf_token %}
    {{ form }}
    <input type="submit" value="Submit" />
</form>

а когда выдаёт ошибку, пишет что метод прилетел GET

KeyError at /
u'% csrf_token %'
Request Method: 	GET
Request URL: 	http://127.0.0.1:8000/
Django Version: 	1.9.7
Exception Type: 	KeyError
Exception Value: 	
u'% csrf_token %'
Exception Location: 	C:\Python27\lib\site-packages\django\utils\html.py in format_html, line 101
Python Executable: 	C:\Python27\python.exe
Python Version: 	2.7.12
Python Path: 	
['C:\\Test_prolect_1',
 'C:\\Test_prolect_1',
 'C:\\WINDOWS\\SYSTEM32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages',
 'C:\\Python27\\lib\\site-packages\\win32',
 'C:\\Python27\\lib\\site-packages\\win32\\lib',
 'C:\\Python27\\lib\\site-packages\\Pythonwin']
Server time: 	Mon, 11 Jul 2016 11:51:06 +0300

Офлайн

#4 Июль 11, 2016 14:42:24

Mahabharata871
Зарегистрирован: 2013-12-13
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

CSRF token missing or incorrect.

Итак, провёл я небольшое исследование примитивное и решил проблему.
В чём собственно она состояла, в том, что я новичок и в своих изысканиях ориентировался только на советы бывалых, на всякие форумы и многочисленные мануалы, которые советовали много чего.
Решение нашлось тогда, когда я решил найти пересечения двух основных советов. Я нарисовал простейшую таблу, куда добавил два наиболее употребительных совета:
1) прописать\закоментить django.middleware.csrf.CsrfViewMiddleware в файле settings.py;
2) прописать или удалить {% csrf_token %} в форме веб страницы;

Получилось как то так:
ссылко на картинко

Ну вот неожиданно решением было удалить и то и то)

Если кому-то поможет, пользуйтесь наздоровье.
Если я сделал не правильно и тем самым понизил безопасность системы - пните меня пожалуйста.

В любом случае всем спасибо. Тема закрыта.

ЗЫ. Пишу через 3 минуты. Дошло наконец, что это я просто отключил работу с CSRF но проблему не решил. Резко повысил уязвимость приложения.
Буду рыть дальше.

PSS. Посмотрел информацию о странице - кука на месте. Неуж-то всё работает, как я сначала подумал.

Отредактировано Mahabharata871 (Июль 11, 2016 14:55:50)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version