将安全和SameSite标志添加到Apache 2.4中的每个Set-Cookie

时间:2020-01-24 17:31:55

标签: php apache .htaccess cookies session-cookies

我正在Ubuntu 18.04上运行Apache 2.4.29。 我也在运行PHP 7.2,现在还不能更新到7.3。

我需要在旨在跨站点运行的跟踪小部件上更新PHP会话cookie(PHPSESSID)以及其他一些cookie。

我尝试了许多不同的建议解决方案,但是没有一个起作用。通常,什么也没有发生,其中一些解决方法甚至导致完全不设置cookie。我尝试过的变通办法包括始终在.conf文件中针对我要更新的特定服务进行Header编辑。

由于更新Apache配置文件无效,因此我尝试在htaccess文件中执行此操作,但这也无济于事或破坏了cookie。

我尝试将其添加到htaccess文件的开头:

Header always edit Set-Cookie ^(.*)$ "$1; HttpOnly; Secure; SameSite=None"

没有更改cookie。

然后我在htaccess中创建了一个cookie以测试该部分:

Header set Set-Cookie "language=eng; path=/; HttpOnly; Secure; SameSite=None"

这适用于该新语言的cookie,但其余cookie均未设置事件。

这是我当前的测试htaccess文件的样子:

Header set Set-Cookie "language=eng; path=/;"
Header always edit Set-Cookie ^(.*)$ "$1; HttpOnly; Secure; SameSite=None"
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L] 

我希望语言cookie的末尾附加HttpOnly;Secure;SameSite=None,但没有。根据Chrome开发者工具的说法,我的响应标题仅包含以下内容: Set-Cookie: language=eng; path=/;

我不知道我在做什么错。我尝试过使用正则表达式的不同组合进行编辑,但没有结果。

请帮助!

0 个答案:

没有答案