2012-03-01 48 views
6

我最近在我的母版页中实现了一小段JavaScript,每隔30秒做一次ajax请求以保持会话活跃。我知道有几个关于保持活力的问题,但我还没有真正能够找到这些具体问题的答案。使用ajax请求保持会话活动安全吗?

我的问题是:

  1. 它是安全的这样做呢?如在,如果有许多并发用户/连接,这会有什么不利影响吗?

  2. 我可以使用此方法实现扩展超时还是必须使用cookie?

  3. 我对饼干知之甚少,但是现在可以相对接受吗?或者会有不允许他们的用户 - 他们能够使用我的网站吗?

谢谢大家!

回答

7
  1. 是的,它是安全的。就加载而言,这取决于您的硬件以及如何编写它,但与刷新页面的用户相比,效果并不差。(可以说没有考虑到通过标准页面加载的AJAX调用的开销)。
  2. 如果这是你所要求的,你可以在web.config中调整超时...
  3. 这是对你的私人电话。 Cookies有其目的,只要它是你的域名,我发现它们是可以接受的,但是却意识到有些人会禁用它们,所以它归结为退步。

有些事情要记住,虽然:

  1. 银行使用同样的方法之前,让您的会议上,当你检查你的财务状况持续,但通常提供一个弹出,询问是否”我想继续。
  2. 保持用户强制登录的时间超过正常时间可能会造成安全风险(图中某人在图书馆或学校计算机上登录并离开办公桌 - 如果该会话继续进行到第二天[或更长时间]?)
+0

感谢您的信息。用户没有分享任何敏感数据,所以我想我会保持清爽的会话。我想我会将超时设置为比刷新频率长一分钟左右(如果浏览器关闭,会话将尽可能快地结束) - 但是这带来了另一个问题......您认为我可以多久刷新会话,而不经常地TOO? – Goose 2012-03-02 20:41:54

+1

@Shannon:与个人安全无关的大多数会议(我见过)都在20-30分钟左右。银行网站大概需要3-5分钟。我会尽可能接近实际到期时间,因为这是不必要的负载轮询更频繁。 – 2012-03-02 20:48:18

0

关于cookies,这是非常可以接受的使用。 几乎所有网站上的用户都保存cookie,他们必须这样做。 有些用户不允许他们,但proggramer可以通过改变浏览器的安全性来解决它(这里有一个宪法问题)。 你可以看到该网站是否在浏览器中保存cookie。