如何在 laravel 中的 Cookie 上设置安全标志

2022-08-30 16:24:41

我想在通过 HTTPS 访问内容时为 Cookie 数据设置安全标志。

Cookie 用于整个应用程序,因此需要全局配置来保护所有 Cookie。


答案 1

您需要使用 覆盖默认设置,将 $secure 标志设置为 true,session_set_cookie_params

void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] )

更多信息请访问 php.net

在laravel中,您需要更改配置/会话.php配置,将安全标志设置为true

/*
|--------------------------------------------------------------------------
| HTTPS Only Cookies
|--------------------------------------------------------------------------
|
| By setting this option to true, session cookies will only be sent back
| to the server if the browser has a HTTPS connection. This will keep
| the cookie from being sent to you if it can not be done securely.
|
*/

'secure' => true,

在较新版本的 laravel 中,您只需在文件中设置SESSION_SECURE_COOKIE=true.env


答案 2

您可以在文件中设置 true 的值,如下图所示;secureconfig/session.php

'secure' => env( 'SESSION_SECURE_COOKIE', true ),

推荐