Я использую инструмент тестирования браузера Tobi для node.js.
Тоби, похоже, отправляет заголовок CSRF_COOKIE, который не соответствует чему-либо в cookieJar.
Я размещаю форму с использованием submit () Тоби, которая не проходит проверку CSRF (обычный браузер для настольных компьютеров)работает отлично).Кажется, проблема заключается в разнице между файлом cookie формы и заголовком HTTP.
console.log(browser.cookieJar.cookies)
Дает:
[ { str: 'csrftoken=8a09c3f0b62939458018f74020c6744e; expires=Thu, 14-Feb-2013 15:26:31 GMT; Max-Age=31449600; Path=/',
name: 'csrftoken',
csrftoken: '8a09c3f0b62939458018f74020c6744e',
expires: Thu, 14 Feb 2013 15:26:31 GMT,
'Max-Age': '31449600',
Path: '/',
value: '8a09c3f0b62939458018f74020c6744e' },
{ str: 'sessionid=d82a0a4a691481df3fb72b8f3b9e4d8a; expires=Thu, 01-Mar-2012 15:26:31 GMT; Max-Age=1209600; Path=/',
name: 'sessionid',
sessionid: 'd82a0a4a691481df3fb72b8f3b9e4d8a',
expires: Thu, 01 Mar 2012 15:26:31 GMT,
'Max-Age': '1209600',
Path: '/',
value: 'd82a0a4a691481df3fb72b8f3b9e4d8a' } ]
Второе значение соответствует форме csrfmiddleware на странице.
Однако мой сервер получил из браузера HTTP Tobi в заголовках HTTP следующее:
'CSRF_COOKIE': '347767c1a4baef48ab0272ca6ccfdf5f'
Откуда пришло значение CSRF_COOKIE (или, более того, почему я не вижуэто в cookieJar?) Как сделать правильное значение CSRF_COOKIE?