Set-Cookie具有HttpOnly和Secure

时间:2019-11-20 06:02:07

标签: php apache session yii2

假设用户已经登录系统。用户执行了一些活动,并基于此收到一封电子邮件。电子邮件具有一个链接,如果用户单击该链接将被重定向到适当的屏幕。 但是由于某种原因,当用户尝试使用超链接时,他们从系统中注销并不得不再次登录。

调试后,我们发现apache conf文件中存在以下规则。

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

删除上述行后,一切正常。

所以我试图找出背后的原因(即,如果上述规则到位,为什么会发生会话问题)。我还要如何在不影响会话的情况下添加该规则,因为根据安全指南,仅需要http和安全cookie。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并使用以下代码。

注意:Content-Security-Policy用于过滤应允许访问的数据服务器类型,并且可以根据需要删除该行。

#fixing vulnerability issues
TraceEnable Off
Header set X-Frame-Options SAMEORIGIN
Header always edit Set-Cookie (.*) "$1; HTTPOnly"
Header always edit Set-Cookie (.*) "$1; Secure"
Header set Content-Security-Policy "frame-ancestors 'none'; default-src 'self' http://onecrm; script-src 'unsafe-inline' 'unsafe-eval' *; connect-src *; img-src data: *; style-src 'unsafe-inline' *;"

更多阅读内容:Set-CookieCookies for dummiesSameSite cookie attribute

答案 1 :(得分:1)

您需要将SameSite=strict更改为SameSite=lax(或将其删除,因为lax是默认值)

  

strict值将阻止Cookie由   浏览器可以在所有跨站点浏览上下文中找到目标站点,甚至   遵循常规链接时。
  ...

     

默认的lax值在安全性之间提供了合理的平衡   和可用性,以维护用户的登录状态   用户从外部链接到达后的会话。

https://www.owasp.org/index.php/SameSite