BergStudio
Проверенные
- Сообщения
- 119
- Решения
- 1
- Реакции
- 74
- Баллы
- 1,740
А CSRF это случайно не (от англ. Сross Site Request Forgery — «Подделка межсайтовых запросов»)?
Для этого и нужен токен, как я понимаю!
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: В настоящее время эта функция требует доступа к сайту с помощью встроенного браузера Safari.
А CSRF это случайно не (от англ. Сross Site Request Forgery — «Подделка межсайтовых запросов»)?
И с ним делать?
Кстати пробовал в конфиг движка ставить
$config['enableLoginCsrf'] = false;
Ничего не меняется.
, сверяется токен (хеш) с токеном в cookies!!!XF/Mvc/Controller
PHP:public function validateCsrfToken($token = null, &$error = null, $validityPeriod = null) { if ($token === null) { $token = $this->filter('_xfToken', 'str'); if (!$token) { $token = $this->request->getServer('HTTP_X_XF_CSRF_TOKEN', ''); } } $token = strval($token); if (!$token) { $error = 'missing'; return false; } $parts = explode(',', $token); if (count($parts) == 2) { list($tokenTime, $tokenValue) = $parts; $cookie = $this->request->getCookie('csrf'); if (!$cookie) { $error = 'no_cookie'; return false; } /** @var \Closure $csrfValidator */ $csrfValidator = $this->app['csrf.validator']; if ($csrfValidator($cookie, $tokenTime) === $tokenValue) { if ($validityPeriod === null) { $validityPeriod = 86400; } if ($validityPeriod > 0 && ($tokenTime + $validityPeriod) < \XF::$time) { $error = 'expired'; return false; } return true; } else { $error = 'invalid'; return false; } } else { $error = 'invalid'; return false; } }
Думаю - с токеном не лады! (
Обновился, были мелкие косяки, устранил.
Визуально, всё работает. Но, полез в журналы сервера и увидел, что периодически идет ошибка 400 от login/keep-alive
Причем самым непредсказуемым образом. Нет какой либо зависимости или закономерности.
Ранее такого не наблюдал. Сайт подключен через CloudFlare, может там чего нужно подкрутить? Кто-то может что-то подсказать?
Вот такая картина выборки keep-alive из последних записей:
Посмотреть вложение 151525
Предполагаю - это поисковые боты получают - 400!
поисковым ботам там в принципе нечего делатьЗачем (от чего) защищать поисковых ботов от CSRF?!
поисковым ботам там в принципе нечего делать
У Вас недостаточно прав для просмотра ссылок. Вход или Регистрация
✓I can't figure out how Google could have found this URL though...
ну не надо мне этим тыкать, я и так это прочёлА что-то делают...
Была такая идея в начале, но:Предполагаю - это поисковые боты получают - 400!
public function assertValidCsrfToken($token = null, $validityPeriod = null)
{
if (!$this->validateCsrfToken($token, $error, $validityPeriod))
{
if ($error == 'no_cookie')
{
$error = \XF::phrase('cookies_required_to_use_this_site');
}
else
{
$error = \XF::phrase('security_error_occurred');
}
throw $this->exception($this->error($error, 400));
}
}
если мне не изменяет память, ошибка с таким текстом имеет свойство выплевываться когда у клиента меняется айпишникЧто удалось выяснить, это что ошибка идет security_error_occurred и только от некоторых гостей при этом они получают сообщение "Security error occurred. Please press back, refresh the page, and try again.".
Странно что сегодня каждый пятый гость меняет IP )если мне не изменяет память, ошибка с таким текстом имеет свойство выплевываться когда у клиента меняется айпишник
Попробовать авто-обьединение.Но с одним "устаревшим шаблоном" какая-то фигня получается. Что Делать?
Естественно.Нажал на шаблоне "Сохранить" и предупреждение пропало.
потому что нефиг вносить правки в шаблоны напрямую, годами тут пишемОбновился нормально. Но с одним "устаревшим шаблоном" какая-то фигня получается. Что Делать?
Как лучше делать?потому что нефиг вносить правки в шаблоны напрямую
Очевидно же что через модификацию ))Как лучше делать?
Эта ошибка вылезла не в этой версии, вы просто её не замечали. Если вы хотите продолжить её обсуждать, то, пожалуйста, делайте это в отдельной темеСтранно что сегодня каждый пятый гость меняет IP )
До обновления не было такого.
Кроме того, я меняю IP и у меня нет ошибки.
В чем проблема не знаю, но похоже что у некоторых гостей либо номер токена не соответствует, либо срок его валидации истек. Кэширование, да и сам CloudFlare отключал. Нет изменений.
Возможно. Я и писал что обновлял не с предыдущей версии.Эта ошибка вылезла не в этой версии, вы просто её не замечали.
Завязываю здесь со своей проблемой.
Уже ясно что только у меня после обновления с 2.2.12 до 2.2.15.
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения