Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
клиент хочет чтобы все куки были httpOnly
счас в проекте 2 куки XSRF-TOKEN и laravel_session
так вот laravel_session установлена как httpOnly, а XSRF-TOKEN нет
полез в исходник и нашел такой метод
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
protected function addCookieToResponse($request, $response)
{
$config = config('session');
$response->headers->setCookie(
new Cookie(
'XSRF-TOKEN', $request->session()->token(), time() + 60 * 120,
$config['path'], $config['domain'], $config['secure'], false
)
);
return $response;
}
получается намеренно убрали httpOnly без возможности регулировки?
пришлось переопределить метод
protected function addCookieToResponse($request, $response)
{
$config = config('session');
$response->headers->setCookie(
new Cookie(
'XSRF-TOKEN', $request->session()->token(), time() + 60 * 120,
$config['path'], $config['domain'], $config['secure']
)
);
return $response;
}
насколько такое решение правильное?
Не в сети
стесняюсь спросить, а ссылка не с https начинается?
Не в сети
да https
Не в сети
понял свою ошибку?
Не в сети
https://github.com/laravel/laravel/blob … n.php#L182
прочти описание.
Не в сети
какая связь между параметром http_only и этим куском кода https://github.com/laravel/framework/bl … en.php#L77 ?
Не в сети
так и мне не понятно, что ты пытаешься сломать, чтобы что заработало?
Не в сети
ещё бы интересно услышать доводы клиента, относительно требования.
если клиент настолько продвинут, что хочет XSRF перенести в httpOnly, то почему кодишь ты, а не он?
По тому, что я прочёл, клиент не из простых людей...
Не в сети
короче вопрос в ТЗ. не понятны цели, - не ясны решения
Не в сети
я всегда считал что параметр httponly обозначает что кука будет доступна только по http протоколу, включая https, и не будет доступна через скрипты
плюс хром в вкладке кукис отображает галочку httponly без уточнения http или https
Изменено ru (16.08.2019 19:25:53)
Не в сети
Страницы 1