2009-10-13 98 views
2

无法登录3次(错误密码,用户名)后,我希望关闭浏览器/窗口/选项卡。我怎么能做到这一点在JavaScript或PHP?也可以给我一些建议,当用户无法登录3次时,我可以对系统做些什么。谢谢。无法登录3次后关闭浏览器

回答

4

在JavaScript中,你可以打电话......

window.close(); 

但是,这将导致一个提示浏览器要求用户显示,以确认他们要关闭浏览器(除非您关闭子窗口你以前产卵)。

这些提示没有办法解决。

1

你能把页面重定向到另一页吗?

20

对不起,这是有点超出框,但:不要这样做。有很好的理由为什么像window.close()这样的东西不会没有提示。我承认,在可能的情况下,这可能是一个好方法,但通过规避这种用户控制措施,即使目的是好的,你也可能最终在脚下射击自己。

如何可能出现此徒步拍摄几个选项:

  • 你认为这是一个好主意,做你的情况,但哎呦,用户不这么认为。尽管你确信这是任何人想到的最好的可用性。
  • hackaround涉及到某些在某处打破其他某些东西的东西。在另一个浏览器。在旧版本中。使用某个浏览器插件。用一些不寻常的用户设置。
  • 未来的浏览器版本让hackaround失败失败,并且您已经以某种方式构建了您的交互模型以依赖于hackaround,即使您确信自己制作了另一种方法以防万一......只有您没有,在那一个地方,因为你自己在使用hackaround,并没有注意到你期望它总能正常工作。
  • hackaround工作正常......但只有当你在看。在一些不应该影响它的正常情况下,它会突然破坏其他某些东西,最终你会花费数天的时间来调试一些奇怪的边缘问题,最终会导致这种问题。我的意思是,骇人听闻的事情不会造成类似的情况。它确实不应该。但它的确如此。
+0

一致认为,任何试图控制用户浏览器的东西都应该不鼓励。 写得很好的答案。 – 2009-10-13 08:31:11

5

我同意Ilari Kajaste的说法时,他说“不要这样做”。用户需要的最后一件事是未预料到的行为。我从来没有遇到过无效登录尝试后关闭窗口的网站,因此几乎可以证明您的用户会感到困惑。其次,它将销毁用户在其后退按钮中的任何历史记录,这将阻碍一些用户。
当您遇到多次失败的登录时,您可能会阻止他们登录特定的时间段(比如10分钟)。您可以通过将第三次无效登录的时间存储到数据库并在随后登录时检查自上次尝试以来的时间多长时间来完成此操作。如果这是你的门槛,那么你甚至不检查密码。只要确定你解释了3个登录失败后有人不能登录10分钟

3

只是在服务器端临时阻止用户帐户n分钟。

1

如果您要阻止用户帐户,请不要在尝试3次后执行此操作。
我有这么多的密码,我必须尝试在一些网站上至少5次之前,我得到一个正确....

1
  1. 安全对服务器端的进一步尝试登录。
  2. 按照drorhan提到的方法重定向到错误页面,或在登录页面上显示“抱歉,太多登录尝试,再试一小时”的类型消息,而不是登录名/密码输入框。

由于SEO告诉我们,你真的不想强迫用户远离你的网站,在SEO中称为失去投资回报,这与你做SEO的目的相反。 :p重定向到您自己的网站的另一个页面是更好的选择。