如何在 Symfony 4 会话上设置 secure 和 httponly 属性

Sam*_*Sam 4 php session symfony

我想在 Symfony 4 中创建一个安全的 PHP 会话

我在Symfony 文档API 文档中查找信息,但找不到任何对我的问题的参考。

在纯 PHP 中,我曾经执行以下操作来创建安全的 PHP 会话:

$session_name = 'session';
$secure = true;
$httponly = true;

$cookieParams = session_get_cookie_params();
session_set_cookie_params(
  $cookieParams["lifetime"], 
  $cookieParams["path"], 
  $cookieParams["domain"], 
  $secure, 
  $httponly
);

session_name($session_name);
session_start();
Run Code Online (Sandbox Code Playgroud)

你如何在 Symfony 4 中做类似的事情?以下代码不起作用:

$session->set('lifetime', 0);
$session->set('secure', true);
$session->set('httponly', true);
Run Code Online (Sandbox Code Playgroud)

Sam*_*Sam 5

正如萨姆所指出的并具有正确的文档

在 Symfony 框架中,这些选项应该在framework.yaml

    session:
       handler_id: ~
       cookie_secure: true
       cookie_httponly: true
Run Code Online (Sandbox Code Playgroud)