2011-03-22 44 views
2

我正在开发一个ASP.NET网站,并希望为我的用户添加另一层保护。如何将增强安全登录添加到我的网站

当他们从新机器登录时,他们需要在回答3个安全问题后,用我的网站设置新机器。

我该怎么做?

Cookie?有没有其他方法?

谢谢!

+0

没有必要要求3个安全问题而不是1个安全问题。如果您想要安全,请使用硬件令牌,例如SecurID或智能卡。 – SLaks 2011-03-22 15:17:32

+0

这意味着我需要将这些硬件分发给我的最终用户......寻找更具成本效益的解决方案 - 虽然 – JohnRambo007 2011-03-22 15:19:52

+1

安全并不便宜。再拍两个相同的东西会增加很多挫折感和安全感。 – SLaks 2011-03-22 15:20:59

回答

0

当他们从一个新的机器

你想跟踪用户是谁登录机新到您的网站。唯一可行的方法是通过使用cookie。如果他们之前没有访问过您的网站,那么在请求期间他们不会传递您的Cookie。

因此,如果用户在第一次请求该页面时错过了您的Cookie(假设这是在登录后?),那么让他们回答问题。一旦问题成功通过,在数据库中用关键字标记这个问题,并检查将来对包含这个关键字的cookie的请求。

+0

所以如果用户清除他的cookies,那么我会丢失机器信息,对不对? – JohnRambo007 2011-03-22 17:31:18

+0

如果用户清除他的cookies,他会再次看起来像一台新电脑,他们将不得不回答这些问题。 – 2011-03-22 18:04:24

0

一种选择是跟踪已知的IP地址。如果请求来自未知IP,您可以强制用户回答问题。

+0

的确如此,但考虑到互联网服务提供商可以改变你的IP地址,不会让用户在不需要时回答这些问题吗? – JohnRambo007 2011-03-22 15:16:37

+0

我同意这只是不可靠 – 2011-03-22 15:37:42

+0

同意,cookie可能是要走的路。 – Thomas 2011-03-22 16:44:49

0

使用持久性cookie。如果持久性Cookie值与您存储在数据库中的内容不匹配,请让他们回答问题,然后设置持久性Cookie值。