cle*_*lem 3 session ruby-on-rails csrf
我正在构建一个应用程序(希望)处理会话创建和销毁JSON.目前,我发现这样做的最好方法是让Rails form_authentication_token作为成功的JSON响应的一部分返回到登录,即(在我的Api :: SessionsController中):
def create
@user = User.find_for_authentication(email: params[:email])
if @user && @user.valid_password?(params[:password])
sign_in(@user)
render json: { success: true, token: form_authenticity_token }
else
render json: { success: false, errors: ['Invalid email or password'] }, status: 401
end
end
Run Code Online (Sandbox Code Playgroud)
但是,我对CSRF相关安全性的了解并不足以让人知道这是不是一件坏事.任何帮助表示赞赏.
我认为这应该是一件安全的事情.同源策略应该保护您免受恶意站点的攻击,该恶意站点能够执行您的某个用户的CSRF登录,并随后从响应中窃取令牌.浏览器不会向其他域上的主机提交JSON请求.
像JSON劫持(http://haacked.com/archive/2009/06/24/json-hijacking.aspx)这样的东西在理论上是可行的(虽然它已经在我所知道的所有浏览器中打了补丁),但是这个威胁应该是假设如下:
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |