2013-07-29 62 views
-1

我已經看到登錄頁面頁面要求您的密碼中的一個隨機字段。例如,輸入密碼中的第二個,第五個和第一個字符。如果刷新頁面,它會詢問其他一些隨機字段。如何從密碼中獲取隨機字段?

我對這個兩個問題:

  1. 如何將用戶上崗前取長度的密碼,而不是要求不存在的領域?例如,密碼長度是一個四位數字,應用程序不會要求輸入第五個字符。
  2. 將存儲在數據庫中的密碼轉換爲數組然後檢查數組中的某些字段是否是個好主意?例如,Third character == password[2]

PHP或Ruby示例實現將非常有用。

謝謝。

+7

不要將密碼存放在純文本!如果您使用的是任何符合您所描述政策的網站,請發送電子郵件告訴他們這是可怕的做法,然後不惜一切代價避免這些做法! – JimL

+0

我還沒有看到任何登錄頁面這樣。也許一個例子會不錯 – h3n

+0

1-你需要從數據庫獲取密碼長度使用簡單的查詢'SELECT CHAR_LENGTH(password)from table where condition' – 2013-07-29 23:35:26

回答

0

我很好奇這個驗證是否正在以純文本的形式存儲在數據庫中(這會很糟糕),或者這個驗證只是試圖通過讓用戶避免暴力攻擊驗證他們剛纔輸入的密碼。有點像驗證碼。如果後者是這種情況,也許你可以在JavaScript中實現一些東西。這是一個類似的東西的小提琴。

http://jsfiddle.net/fTPJy/1/

$apparently = 'I have to post code to link to a jsfiddle';