SomeSite

th

对于跨站请求,浏览器要做设置Set-Cookie的 SomeSite属性 。但是默认登录时 Set-Cookie是 PHPSID=xxxxxxxx; Path=/ 。请问我怎么在登录时加上 SomeSite

目前采取了一个解决方案,就是修改 vendor/workerman/workerman/protocols/http/reqeust.php的 sessionId() 方法
$this->connection->__header['Set-Cookie'] = array($session_name . '=' . $sid
. (empty($cookie_params['domain']) ? '' : '; Domain=' . $cookie_params['domain'])
. (empty($cookie_params['lifetime']) ? '' : '; Max-Age=' . ($cookie_params['lifetime'] + \time()))
. (empty($cookie_params['path']) ? '' : '; Path=' . $cookie_params['path'])
. (empty($cookie_params['samesite']) ? '; SameSite=none' : '; SameSite=' . $cookie_params['samesite'])
. (!$cookie_params['secure'] ? '; Secure' : '; Secure')
. (!$cookie_params['httponly'] ? '' : '; HttpOnly'));
}
改了vendor库的源码 ,目前不知道有没有更好的方法,那里可以通过配置设置 set-cookie??

阅读 223
1个回答

walkor
相似问题