如何终止当前会话,该会话在特定时间之后提前失效?

时间:2019-06-25 14:46:49

标签: python selenium-webdriver

如何使Selenium Web驱动程序相信我们已经过去特定时间并且当前会话已过期?

3 个答案:

答案 0 :(得分:1)

一个选项是删除保存启动实例ID的cookie。我相信它们被称为会话Cookie。

答案 1 :(得分:1)

这取决于您使用的会话过期机制。如果您依靠浏览器丢弃会话cookie,则只需delete the cookie。请注意,如果您的应用程序仅依赖于浏览器cookie到期,则您的应用程序将受到会话扩展不足的会话到期漏洞的影响。您还应该考虑添加服务器端到期。

要测试服务器端的到期时间,可以通过将服务器数据库中令牌的到期日期更改为过去的到期日期来模拟到期的会话。

如果您在会话管理中使用了无状态时间戳记和签名令牌,则可以通过发行带有时间戳的令牌来模拟过期的令牌。请注意,使用无状态时间戳记和签名的令牌将受到会话过期漏洞的影响,您应该考虑通过对令牌赋予较短的过期时间来减轻这种风险。

答案 2 :(得分:0)

我之前已经在我们的一个站点上完成了此操作,但它并不是在欺骗WebDriver,它涉及到更改页面上的JS(控制超时)以缩短等待时间。您将需要与开发人员交谈或调查页面上的JS,以了解如何/何时设置超时。就我而言,它涉及重新运行具有不同超时值的JS方法,但是您的情况肯定会有所不同,并且会涉及一些调查,反复试验。