我正在尝试使用 Omniauth 从头开始进行身份验证。
我关注了 Ryan Bate 的截屏视频。但在我推出一个实现之前,我想了解一些事情。
helper_method
在他的截屏视频中,他有一个application_controller
:
helper_method :current_user
private
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
上面的代码,检查user_id
.
我知道会话是加密的(并存储在 cookie 中)。但是,它们是可读的,但不能修改。有人用假的劫持会话有多难user_id
?是什么阻止了任何人从头开始或通过某种“cookie 注入器”方法(如果存在这种情况)创建 cookie。
我试图了解这些 cookie 是如何受到保护的。