2015-04-01 2 views
6

Один из примеров браузер: IE 11: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; с.в.: 11,0), как GeckoTokenMismatch ТОЛЬКО Некоторые браузеры - Laravel 5 Свежий/Производство

Сессия началась в 22: 46:56. Заполняет форму. Отправляет форму в 22:53:18, получает TokenMismatchException. Так что всего через 6 минут.

сессия Начало:

Apr 02 22:46:56 production.INFO: Session {"start":1428040016,"id":"8040cc779df0330855f8fa30483af63557aaf9c4","token":"L3nU4ehseV5w1iXy86g18FsgnVs6sAcDNjTUZ5QV","ip":"74.XX","method":"GET","url":"https://sub.domain.com/place-st","ua":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"} []

Пользователь подает форму 6 минут:

Apr 02 22:53:18 production.DEBUG: REQUEST SESSION token: 8L3pba9ALBVBcrvIPM5wnTl7bP0slSIrjCAkfWzh [] [] Apr 02 22:53:18 production.DEBUG: REQUEST INPUT _token: L3nU4ehseV5w1iXy86g18FsgnVs6sAcDNjTUZ5QV [] [] Apr 02 22:53:18 production.DEBUG: REQUEST HEADER X-CSRF-TOKEN: [] [] Apr 02 22:53:18 production.DEBUG: REQUEST HEADER X-XSRF-TOKEN: [] [] Apr 02 22:53:18 production.DEBUG: REQUEST URL: https://sub.domain.com/requests/post [] []

Сервер Варс:

Apr 02 22:53:18 production.DEBUG: array ( 'USER' => 'forge', 'HOME' => '/home/forge', 'FCGI_ROLE' => 'RESPONDER', 'APP_ENV' => 'production', 'QUERY_STRING' => '', 'REQUEST_METHOD' => 'POST', 'CONTENT_TYPE' => 'application/x-www-form-urlencoded', 'CONTENT_LENGTH' => '867', 'SCRIPT_FILENAME' => '/home/forge/doamin.com/public/index.php', 'SCRIPT_NAME' => '/index.php', 'REQUEST_URI' => '/requests/post', 'DOCUMENT_URI' => '/index.php', 'DOCUMENT_ROOT' => '/home/forge/doamin.com/public', 'SERVER_PROTOCOL' => 'HTTP/1.1', 'GATEWAY_INTERFACE' => 'CGI/1.1', 'SERVER_SOFTWARE' => 'nginx/1.6.2', 'REMOTE_ADDR' => '74.XX', 'REMOTE_PORT' => '56563', 'SERVER_ADDR' => '104.XX', 'SERVER_PORT' => '443', 'SERVER_NAME' => 'doamin.com', 'HTTPS' => 'on', 'REDIRECT_STATUS' => '200', 'HTTP_ACCEPT' => 'text/html, application/xhtml+xml, */*', 'HTTP_REFERER' => 'https://sub.domain.com/place-st', 'HTTP_ACCEPT_LANGUAGE' => 'en-US', 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded', 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate', 'HTTP_HOST' => 'sub.domain.com', 'HTTP_CONTENT_LENGTH' => '867', 'HTTP_CONNECTION' => 'Keep-Alive', 'HTTP_CACHE_CONTROL' => 'no-cache', 'PHP_SELF' => '/index.php', 'REQUEST_TIME_FLOAT' => 1428040398.7879851, 'REQUEST_TIME' => 1428040398,) [] []

Session/Cookie

Apr 02 22:53:18 production.DEBUG: REQUEST PATH: requests/post [] [] Apr 02 22:53:18 production.DEBUG: COOKIE: array () [] [] Apr 02 22:53:18 production.DEBUG: SESSION: array ( '_token' => '8L3pba9ALBVBcrvIPM5wnTl7bP0slSIrjCAkfWzh',) [] []

HTTP Request:

Apr 02 22:53:18 production.DEBUG: POST /requests/post HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Encoding: gzip, deflate Accept-Language: en-US Cache-Control: no-cache Connection: Keep-Alive Content-Length: 867 Content-Type: application/x-www-form-urlencoded Host: sub.domain.com Referer: https://sub.domain.com/place-st User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko _token=L3nU4ehseV5w1iXy86g18FsgnVs6sAcDNjTUZ5QV&var=value&var2=value2&etc... [] []

+0

Это может быть важная ошибка, может быть, проблема с файлом gitthub laravel/laravel – dynamic

+0

@jhauraw вы могли проверить мой ответ? – motto

+0

Это происходит, если вы отправляете форму в 1мин? Или только 6 мин? Как насчет 5 минут и т. Д.? – Laurence

ответ

0

Скорее всего, проблема не связана с браузерами. Я считаю, что есть люди, которые слишком долго ждут и сессия заканчивается. После отправки формы с истекшим сеансом происходит TokenMismatchException.

Для отладки вы можете сохранить журнал, когда каждый из сессии создается, чтобы увидеть, если он должен был быть истек, и вы также можете играть с целой жизни сессии в session.php

+0

Я обновил свой вопрос с лучшим примером. Срок действия не истек. –

0

Это может быть длинный выстрел, но источником проблемы может быть режим совместимости IE и различные сеансы использования этих режимов.

Вы можете попробовать это, добавив следующую строку в верхней части и опубликовать страницы:

header("X-UA-Compatible: IE=Edge"); 
+0

У нас уже есть метатег X-UA на каждой странице получения, в обычном стандарте Twitter Bootstrap Twitter. Вы хотите добавить заголовок PHP в запрос POST? В уже:. '' Кроме того, Android 4.4 * с Chrome 41, имеющий тот же вопрос, так IE не единственный. –

+0

@jhauraw не могли бы вы поделиться своим сообщением и получить мнения и контроллеры? – motto

+0

@jhauraw есть случайные сообщения, обрабатывающие перед любым выходом html. – motto

1

Это звучит много как этот известный вопрос с Laravel: https://github.com/laravel/framework/issues/8172

Причиной является не и это продолжается некоторое время. В нем много умных людей, но кажущаяся случайность проблемы затрудняет отладку.

Предлагаю вам внести свою информацию в этот билет и заглянуть туда для получения дополнительной информации. В частности, нам нужна как можно больше информации о конфигурации сервера и конфигурации приложения, поэтому мы можем попытаться воспроизвести проблему. Пока что точный метод репликации неизвестен, что затрудняет задачу.

+0

Да, случайность не может разочаровать. Мы получаем 2-3 дня в занятой системе. Я отправлю сценарий по номеру билета как можно скорее. –

Смежные вопросы