【问题标题】:Is someone able to hack and create a rails session cookie?有人能够破解并创建一个 Rails 会话 cookie 吗?
【发布时间】:2016-07-05 20:29:46
【问题描述】:

随机问题,但任何人都可以在浏览器中为网站破解并创建会话 cookie 吗?

我问的原因是,我目前正致力于在 Rails 中创建回调。我的回调正在检查是否

before_action :employee_logged_in? [:edit, :update]
...
Private
def employee_logged_in?
  if session[:current_employee_id].nil?
    flash[:danger] = "Employee needs to be logged in"
    redirect_to login_path
  end
end

因此,通过这种方式,如果有人能够创建会话 cookie 并将其放置在浏览器上,那么从技术上讲,他们可以访问任何受限制的页面(在本例中为编辑和更新路由)

这是安全的还是我想将会话 cookie 存储在数据库中并根据数据库检查特定会话 cookie?

【问题讨论】:

    标签: ruby-on-rails session cookies session-cookies


    【解决方案1】:

    cookie 存储使用摘要来防止篡改。如果用户更改了current_employee_id,那么服务器将知道会话已被编辑并且不使用它。

    来自Ruby on Rails Security Guide

    为了防止会话散列被篡改,从会话中计算出一个摘要,其中包含一个服务器端机密,并将其插入到 cookie 的末尾。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      相关资源
      最近更新 更多