从 Rails 应用程序破解 CookieStore 创建的 cookie 有多容易?

发布于 2024-07-30 07:52:48 字数 109 浏览 6 评论 0原文

我读过很多文章,说在 Rails 应用程序中使用 cookie 存储的一个缺点是客户端可以看到 cookie 数据。 不过,我查看了cookie数据,发现它是加密的。 解密cookie数据相对容易吗?

I have read a bunch of stuff saying that one con of using the cookie store in a Rails app is that the client can see the cookie data. However, I looked at the cookie data and it is encrypted. Is it relatively easy to decrypt the cookie data?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

随心而道 2024-08-06 07:52:48

Rails 中的默认 cookie 存储未加密,而是采用 Base64 编码。 Base64 编码只是一种用 ASCII 表示二进制数据的方法,无论如何都不应将其视为“加密”; 任何人都可以解码它。

The default cookie store in Rails isn't encrypted, it's Base64 encoded. Base64 encoding is simply a way to represent binary data in ASCII, and should not be thought of as "encryption" by any stretch of the imagination; anyone can decode it.

梦年海沫深 2024-08-06 07:52:48

存储的会话数据使用您在 config.rb 文件中设置的以下信息进行签名。

Rails::Initializer.run do |config|
  config.action_controller.session = {
    :session_key => '_store_session',
    :secret      => '851939c37d94574e284ded8437d4ea3447dae24cc5bda61d8eaf2731d49273bc4c620'
  }
end

因此,虽然阅读起来并不容易,但只要有足够的时间和精力,也不是不可能。

这里有一堆详细讨论这个问题的链接,但普遍的共识是,这不是一个有缺陷的实现,并且您不应该在会话中存储任何太关键的内容。

The session data stored is signed using the below information you setup in your config.rb file.

Rails::Initializer.run do |config|
  config.action_controller.session = {
    :session_key => '_store_session',
    :secret      => '851939c37d94574e284ded8437d4ea3447dae24cc5bda61d8eaf2731d49273bc4c620'
  }
end

So while it is not easy to read, it is not impossible with enough time and effort.

Here is a bunch of link that discuss this issue at length but the general consensus is that this is not a flawed implementation and that you should not store anything in the session that is too critical.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文