这里真的有两个问题:“我的应用程序如何处理会话到期?” 和“如何设置 cookie mochiweb_cookies
?” 只有第二个可以在没有进一步信息的情况下得到合理的回答。
Req:ok("text/plain",
[mochiweb_cookies:cookie("session", "my-session-id", [{max_age, 86417}])],
"you're logged in!")
mochiweb_cookies:cookie/3 返回一个{"Set-Cookie", "headervalue"}
适合作为 和 的参数ResponseHeaders
值的对。mochiweb_request:respond
mochiweb_request:ok
当然可以不使用mochiweb_cookies
模块在 mochiweb 中设置 cookie,毕竟它们只是标题。您的应用程序可能正在通过手工制作标头来设置 cookie,或者同一域下托管的代理或其他应用程序服务可能正在设置 cookie。
话虽如此,如果可能的话,您应该避免依赖 cookie 过期来注销用户。max-age 实际上只是提示浏览器在该时间过去后停止发送 cookie。浏览器或攻击者总是可以行为不端并无限期地发送 cookie。