使用Ajax请求保持会话活动是否安全?

8
我最近在我的主页面中实现了一个小的JavaScript片段,它每30秒执行一次ajax请求以保持会话活动状态。我知道有几个关于保持活动状态的问题,但我还没有找到这些特定问题的答案。
我的问题如下:
1. 这样做是否安全?也就是说,如果有许多并发用户/连接,这是否会产生任何不良影响?
2. 我能否使用此方法实现延长超时时间,还是必须使用cookies?
3. 我对cookies不太了解,但现在这些相对可接受吗?或者会有不允许使用cookies的用户-他们能够使用我的网站吗?
谢谢大家!
2个回答

7
  1. 是的,它很安全。就负载而言,这取决于您的硬件以及您如何编写它,但它对用户刷新页面没有更坏的影响(可以说是较少的,考虑到 AJAX 调用与标准页面加载的开销)。
  2. 如果您是在问超时时间,那么您可以在web.config中进行调整......
  3. 这是你个人决定。Cookie 有其目的,只要是您的域名,我认为它们是可接受的。但需要注意的是,有些人会禁用 Cookie,因此需要有备选方案。

还有一些事情需要记住:

  1. 银行使用相同的方法来保持您在检查财务状况时的会话,但通常会在之前提供弹出窗口询问您是否要继续。
  2. 强制使用户长时间登录可能存在安全风险(例如某人在图书馆或学校计算机上登录并离开他们的桌子 - - 这个会话应该继续延续到第二天 [或更长时间] 吗?)

谢谢提供信息。用户没有分享任何敏感数据,所以我想我会继续刷新会话。我考虑将超时时间设置为比我的刷新频率长一分钟左右(这样如果浏览器关闭,会话将尽快结束)-但这又引出了另一个问题...您认为我可以多频繁地刷新会话而不会太频繁? - Goose
1
@Shannon:我看到的大多数不涉及个人安全的会话时间都在20-30分钟左右。银行网站可能只有3-5分钟。我建议尽可能接近实际过期时间,因为频繁轮询会增加不必要的负载。 - Brad Christie

0
关于Cookies,它是非常可接受的使用方式。 几乎所有的网站都会保存用户的Cookies,他们必须这样做。 虽然有些用户不允许保存Cookies,但程序员可以通过更改浏览器的安全设置来克服这个问题(在这种情况下存在宪法问题)。 您可以在浏览器中查看网站是否正在保存Cookie。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接