Rails的SameSite属性问题

时间:2020-09-02 19:30:29

标签: ruby-on-rails cookies cloudinary samesite

我要显示Cloudinary的图片时,在Web浏览器的控制台中弹出一个问题。 正是这里的消息: 通过指定其SameSite属性来指示是否在跨站点请求中发送cookie

由于未设置cookie的SameSite属性或该属性无效,因此默认值为SameSite = Lax,这将阻止在跨站点请求中发送该cookie。这种行为可以防止用户数据意外泄露给第三方和跨站点请求伪造。

通过更新cookie的属性来解决此问题: 如果应在跨站点请求中发送cookie,请指定SameSite = None和Secure。这使第三方可以使用。 如果不应在跨站点请求中发送Cookie,请指定SameSite = Strict或SameSite = Lax

我不知道可以在哪里更改此设置(SameSite设置)以便查看照片。

谢谢

1 个答案:

答案 0 :(得分:0)

除了session_key以外,您是否还使用其他cookie(如果使用session_store:cookie_store,则要使用完整的会话)?
我认为您不需要会话ID即可访问Cloudinary中的图片(您使用api_keyapi_secret进行身份验证。

IMHO session_key应该限制在您自己的网站上,因此请从

扩展您的session_store选项(即在config/initializers/session_store.rb中)
Rails.application.config.session_store :cookie_store, key: 'session_key'

Rails.application.config.session_store :cookie_store, key: 'session_key', same_site: :strinct