2011-05-08 189 views
0

我試圖重新填充用戶輸入到表單字段,用於當它們的輸入數據,並有將其固定由於錯誤輸入字段

我通常完成它像這樣的:

<input type="text" name="username" value="<?php echo @$_POST['username'];?>" /> 
<input type="password" name="password" value="<?php echo @$_POST['password'];?>" /> 

我這個問題是,當我查看源代碼,如果他們把一個無效的用戶名/密碼,他們鍵入的實際密碼在視圖中源可見(不知道瀏覽器的問題,但它的Firefox )

什麼是交流的最佳方式完成這個?

回答

1

如果密碼字段的值不在源中,則無法設置默認值,但不需要。

模糊密碼的一點是,這樣有人找過用戶的肩不能很容易地看到密碼是什麼。

只有用戶(知道他們剛輸入的密碼是什麼)可以告訴他們的瀏覽器查看源代碼。

如果你擔心密碼在傳輸過程中被竊取,那麼它是脆弱的從瀏覽器去訪問服務器,因爲它會的其他方式。對所有安全的瀏覽器 - 服務器通信使用SSL加密(https)。

同時,由於您從$_POST(這是外部輸入)獲取數據並將其直接注入頁面,因此易受an XSS attack的影響。

0

只是不要重複密碼。有一點遺失(因爲無論如何他們有錯誤,密碼是他們錯誤的最可能的東西),你可以抓住誠實的忘記在客戶端驗證重新輸入密碼,所以它不是太麻煩忽略重新輸入的用戶。

可以說重新發送密碼的風險很小,因爲對於發送密碼的用戶而言,竊聽的安全級別將與安全級別相同(HTTPS或不),因此唯一可能使用view-source的人是用戶自己,但它的共同性足以在這種情況下清除密碼,以免它在用戶中引起太強烈的負面反應。

0

我真的不認爲這是一個問題,因爲來源中顯示的密碼無效。我不保留密碼失敗,我只是清除文本框,以便用戶可以重新輸入一遍。

-2

如果用戶名或密碼不正確,則始終在錯誤消息頁面上取消設置密碼。 btw不要把@盈方$_POST,這是一個壞習慣

+0

爲什麼downvote ?? ??請解釋一下 – diEcho 2011-05-09 04:48:11