2009-10-13 72 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重定向到您自己的網站的另一個頁面是更好的選擇。