2012-06-02 51 views
2

在PHP中構建一個簡單的註冊表單。我想知道是否會有安全問題,如果我決定使用簡單的輸入字段,而不是密碼輸入字段爲用戶所需的密碼。我已經看到其他網站在註冊期間沒有使用密碼輸入,並且在使用一些Google搜索之後,我找不到任何確鑿的答案。我是否需要在註冊表單中使用密碼輸入字段輸入所需的密碼?

我寧願使用一個普通的文本字段,因爲這將是在註冊過程中,用戶更容易,但我擔心會有某種方式對第三方捕捉到這些。

+4

我認爲這只是一種視覺效果,所以沒人能看到你的肩膀,但它會以純文本形式發送給服務器,除非您使用加密或SSL。 – gunnx

回答

4

<input type="password" /><input type="text" />之間的唯一區別是,密碼一個得到與任何瀏覽器決定掩蓋的所有字符(要點/星號/不管)。

唯一的一點是要確保人找過的人的肩膀看不到密碼,因爲它正在被輸入。

如果服務器是不安全的通信,這使得零差價是否領域是否爲密碼類型(如果通信是加密的,則沒有區別)。也就是說,如果信息是敏感的,你應該使用安全通道(並且密碼字段在這方面不做任何事情)。

1

瀏覽器將顯示文本的用戶輸入文本和不掩蓋它。另外一些瀏覽器可能會存儲用戶放入的值,並在下次打開頁面時提供該值。

而且大多數瀏覽器將不提供「保存此密碼」選項,因爲他們不承認它作爲密碼字段。

2

唯一真正的區別是,他們不能有人站在他們身後報名,因爲密碼將是他們的屏幕上看到。除非你使用https

密碼採用明文方式傳輸兩種方式。

請記住,您的用戶可能不知道,這是唯一的不同,在你的網站可能會失去信心,因爲他們是如此習慣於密碼被隱藏。

2

密碼字段是爲了防止肩負。即當用戶輸入密碼時,有人看着他的肩膀上的屏幕,並可以很容易地看到累了的密碼。

如果您認爲這不是一個問題,你可以使用正常的輸入。

除此之外沒有任何區別。這兩個字段都以相同的方式發送,無論是痛苦文本還是加密到服務器。只有不同的地方。

1

目前還沒有確切的答案,因爲瀏覽器可能將密碼字段他們喜歡的方式。一些可能的特徵已經在其他答案中有很好的描述。另外,當用戶例如用戶瀏覽器可以將密碼字段與文本輸入字段不同地處理告訴瀏覽器清除緩存的信息。

一般情況下,在瀏覽器中的任何安全相關的功能應該期望治療input type=password作爲密碼輸入和所有其他投入要素爲別的東西。

用星號隱藏用戶輸入大多是討厭,誠然。它最初是基於這樣的理念,人們使用的教室,公共場所等電腦這方面仍是部分相關。但長期解決方案可能是瀏覽器讓用戶決定是否將密碼作爲未被屏蔽回顯。 (某些瀏覽器已將最近輸入的字符取消屏蔽。)

如果您決定使用文本輸入字段來讀取密碼,則添加屬性autocomplete=off spellcheck=false可能會有所幫助。

也可以有兩種類型的字段,讓用戶決定使用哪一種。問題在於,這可能令人困惑,甚至看起來對用戶可疑。

+0

感謝您的深思熟慮,我甚至沒有意識到這些屬性存在。 – Thomas