相关疑难解决方法(0)

PHP setcookie"SameSite = Strict"?

我最近在属性"Same Site"上阅读了"RFC 6265",我看了一些在2016年4月讨论过的文章,为Chrome 51和Opera 39实现了"同站点"属性...

我想知道当前的PHP是否支持使用此属性创建cookie?

参考:

php security cookies

30
推荐指数
3
解决办法
2万
查看次数

如何告诉 PHP 对跨站点 cookie 使用 SameSite=None?

据这里的文章https://php.watch/articles/PHP-Samesite-cookies和PHP documenation在https://www.php.net/manual/en/session.security.ini.php,只有2 PHP 7.3 中添加的此新功能的可能配置选项:

  1. session.cookie_samesite=松懈
  2. session.cookie_samesite=严格

然而,根据 Chrome 控制台,这需要设置为“无”:

与 URL 上的跨站点资源关联的 cookie 设置为没有该SameSite属性。它已被阻止,因为 Chrome 现在仅在设置了SameSite=None和 的情况下才提供具有跨站点请求的 cookie Secure。您可以在应用程序>存储>Cookies 下的开发人员工具中查看 cookie,并在 URL 和 URL 中查看更多详细信息。

因此,我无法再设置跨站点 cookie。解决方法是什么?

php cookies session session-cookies php-7.3

21
推荐指数
2
解决办法
3万
查看次数

跨域会话 Cookie(Heroku 上的 Express API + Netlify 上的 React App)

我有一个 React 应用程序调用 node.js/Express 中的 API。

前端部署在 Netlify (https),​​后端部署在 Heroku (https)。

我的问题:

  • 在开发环境(本地主机)中工作的一切
  • 在生产(Netlify/Heroku)中,用于注册和登录的 api 调用似乎有效,但会话 cookie 未存储在浏览器中。因此,对 API 中受保护路由的任何其他调用都会失败(因为我没有收到用户凭据)。

             跨域身份验证 cookie react express




说话很便宜,给我看代码....

后端(Express API):

应用程序.js

require('./configs/passport');

// ...

const app = express();

// trust proxy (https://stackoverflow.com/questions/64958647/express-not-sending-cross-domain-cookies)
app.set("trust proxy", 1); 

app.use(
  session({
    secret: process.env.SESSION_SECRET,
    cookie: {
      sameSite: process.env.NODE_ENV === "production" ? 'none' : 'lax',
      maxAge: 60000000,
      secure: process.env.NODE_ENV === "production",
    },
    resave: true,
    saveUninitialized: false,
    ttl: 60 * 60 * 24 * 30 …
Run Code Online (Sandbox Code Playgroud)

heroku session-cookies express reactjs express-session

10
推荐指数
1
解决办法
6558
查看次数

由于用户偏好,未存储此 set-cookie

我已经从 api 设置了一个 cookie 并将其作为响应返回。但是最新版本的 chrome beta 不允许我存储 cookie。我还设置了 SameSite="None" 和 Secure 以考虑第三方 cookie。但这并没有被存储。

https://i.stack.imgur.com/H3Ov3.png

google-chrome setcookie

6
推荐指数
1
解决办法
5308
查看次数