2014-12-09 101 views
1

如果设置会话超时时间太长,可能会遇到什么问题。我在我的网站的web配置文件中设置了20到100的会话时间,可以在将来引发问题吗?会话超时错误的缺点

回答

1

即使你在谈论太高的会话超时,你的问题是关于错误的问题超时,这也意味着olow会话超时,所以我会在这里谈论这两种可能性。

会话超时过低可能会导致意外的行为和结果,因为当您访问会话变量时,会话变量不会再填充,因为会话过期。例如,在网上商店中,如果您添加了商品,然后去购物车并在一段时间后按订单,并且看到订单为空,因为您花了很长时间才能按下该按钮,这可能非常麻烦。

“太高”会话超时可能会有一些副作用,但最麻烦的问题(如果所有程序都正确编程)是安全性。为了理解为什么我们需要记住安全性:当用户关闭窗口而不是注销(或不执行你定义的会话结束时)会发生什么。浏览器再次启动时仍会显示所有用户的会话数据。这通常在用户的个人电脑上没有问题,但是如果他使用公共电脑访问该网站,那么它可能会导致相当多的安全问题(如其他人可以访问您的银行帐户信息,.... )。因此,安全性是选择尽可能低的会话超时的主要原因,因为您可以避开。

高值的一些副作用将取决于您的应用程序数据需要重新加载到会话中(例如,如果我们正在讨论的统计信息存储在那里,其他用户可以修改它们)。另一件事是内存消耗。会话保持活动的时间越长,其使用的内存使用时间也越长。通常这应该没有问题,但根据您的应用程序,它可能会导致内存问题,如果会话数据包含大量的数据,每次点击都会增加(在10多年中,我只遇到过一次这种问题,这是因为对于导致它的那个页面的定义非常独特)。

因此,要总结出以下的东西可能是一个过高的会话超时的不必要的副作用:会话劫持的

  • 可能性较高,当别人使用相同的客户端
  • 会话数据(根据应用虽然)可能太旧,以至于用户看到不再是最新的数据。
  • 内存不足问题/磁盘空间不足问题(因为会话通常存储在磁盘上)。这就像之前提到的那样极为罕见,在大多数情况下,如果发生这种情况,它与使用超时设置的实际问题相比,对于构建错误的站点更重要。
+0

感谢此信息@thomas。目前,我正在得到数据库问题。数据库没有得到更新后,我增加了会话超时100.它之前20.can,它与会话有关吗?请帮助 – 2014-12-10 03:55:12

+0

通常db和会话根本没有彼此连接。所以如果你没有在那里设计“错误”,那么更高的会话超时应该不会影响数据库更新。你会在会议中存储你需要的东西吗?我的意思不是数据清楚,更像连接本身或连接字符串,......? – Thomas 2014-12-10 06:56:36

+0

会议。请分享您的想法 – 2014-12-10 07:00:04

0

是的。它也将打开攻击的窗口。如果会话负载增加,您也可能会遇到内存溢出。较高的值表示用户可以闲置多少时间。

+1

DB死锁?他们如何与会话超时连接? (据我所知,数据库连接超时仍然与会话超时分开,还是我错了?) – Thomas 2014-12-09 11:44:01

+0

已更正。谢谢 – Amit 2014-12-09 11:56:56

+0

hi @Amit,我们如何通过server.application上的应用程序获取关于内存使用情况的信息。请告诉 – 2014-12-11 05:27:37