【问题标题】:How do I cause session timeout logouts instantly?如何立即导致会话超时注销?
【发布时间】:2017-08-01 01:11:25
【问题描述】:

Web 应用程序应该使用户会话超时并在 N 分钟后将其注销。我不知道 N 是什么,也不知道会话超时注销机制是如何实现的。

我想通过立即导致超时来测试会话超时时会发生什么。有没有办法修补前端以立即导致超时,或者我是否需要更改后端以导致即时超时?

【问题讨论】:

  • 如果在超时期间有任何安全问题,那么从前端触发它是不够的——任何有一定技术的坏演员都可以绕过你正在做的任何事情来触发瞬间会话超时。

标签: javascript testing


【解决方案1】:

通常,这应该在后端实现。在大多数 Web Server 或 App Server 上,用户会话存储在缓存系统中,例如 memcached 或 redis。当用户登录时,我们将 session-ID(cookie) 存储到缓存中。同时,你可以在这个key上设置一个过期时间,过期后session-ID会从缓存中删除。

当用户向服务器发出请求时,请求会带上cookie来识别会话。并且此时可以更新过期时间。当 session 超时,key 被删除时,新的请求来了,会重定向到登录页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    相关资源
    最近更新 更多