wan*_*lke 21
默认情况下,rails使用cookie来存储会话数据.所有数据都存储在客户端中,而不是存储在服务器上.
iaf*_*nov 16
我建议你看一下rails安全指南的会话章节 - 它会详细解答你的问题并帮助你理解它是如何工作的.
当您session[:user_id] = 3在控制器操作内部进行设置时,从该操作发送的响应将具有标头Set-Cookie: my-session-cookie.从现在开始,浏览器会Cookie: my-session-cookie在每次请求时自动将标头发送回服务器.
这就是my-session-cookie通常看起来的样子:
_Hello_session=BAh7B0kiD3%3D%3D--dc40a55cd52fe32bb3b84ae0608956dfb5824689
Run Code Online (Sandbox Code Playgroud)
这意味着:
_Hello_session=<encrypted user_id=3>--<digital signature>
Run Code Online (Sandbox Code Playgroud)
Hello 是您的Rails应用程序的名称. a=b字符串,它是加密的. 加密(和解密)以及签名(和验证)都是使用secrets.secret_key_base存储在其中的服务器端密钥完成的/config/secrets.yml.
| 归档时间: |
|
| 查看次数: |
27839 次 |
| 最近记录: |