我正在开发一个ASP.NET网站,并希望为我的用户添加另一层保护。如何将增强安全登录添加到我的网站
当他们从新机器登录时,他们需要在回答3个安全问题后,用我的网站设置新机器。
我该怎么做?
Cookie?有没有其他方法?
谢谢!
我正在开发一个ASP.NET网站,并希望为我的用户添加另一层保护。如何将增强安全登录添加到我的网站
当他们从新机器登录时,他们需要在回答3个安全问题后,用我的网站设置新机器。
我该怎么做?
Cookie?有没有其他方法?
谢谢!
当他们从一个新的机器
你想跟踪用户是谁登录机新到您的网站。唯一可行的方法是通过使用cookie。如果他们之前没有访问过您的网站,那么在请求期间他们不会传递您的Cookie。
因此,如果用户在第一次请求该页面时错过了您的Cookie(假设这是在登录后?),那么让他们回答问题。一旦问题成功通过,在数据库中用关键字标记这个问题,并检查将来对包含这个关键字的cookie的请求。
所以如果用户清除他的cookies,那么我会丢失机器信息,对不对? – JohnRambo007 2011-03-22 17:31:18
如果用户清除他的cookies,他会再次看起来像一台新电脑,他们将不得不回答这些问题。 – 2011-03-22 18:04:24
一种选择是跟踪已知的IP地址。如果请求来自未知IP,您可以强制用户回答问题。
的确如此,但考虑到互联网服务提供商可以改变你的IP地址,不会让用户在不需要时回答这些问题吗? – JohnRambo007 2011-03-22 15:16:37
我同意这只是不可靠 – 2011-03-22 15:37:42
同意,cookie可能是要走的路。 – Thomas 2011-03-22 16:44:49
使用持久性cookie。如果持久性Cookie值与您存储在数据库中的内容不匹配,请让他们回答问题,然后设置持久性Cookie值。
没有必要要求3个安全问题而不是1个安全问题。如果您想要安全,请使用硬件令牌,例如SecurID或智能卡。 – SLaks 2011-03-22 15:17:32
这意味着我需要将这些硬件分发给我的最终用户......寻找更具成本效益的解决方案 - 虽然 – JohnRambo007 2011-03-22 15:19:52
安全并不便宜。再拍两个相同的东西会增加很多挫折感和安全感。 – SLaks 2011-03-22 15:20:59