2012-03-27 56 views
0

是否可以將密碼文本框文本設置爲用戶無法重現的文本?爲客戶端無法重現的密碼文本框設置默認密碼

像是有特殊字符,只能從服務器設置?

例如,一種方法是使用javascript來防止鍵入*,並將文本框文本設置爲全部*。但這很不好。

動機是能夠告訴服務器用戶是否根本改變了密碼,但不是限制他們擁有所有*的密碼。

+0

所以當用戶在passfield輸入abc123時,它會(如果你以某種方式使它成爲一個文本框)顯示爲別的東西? – f2lollpll 2012-03-27 17:14:50

+0

不,它從gobbledygook開始,如箭頭,標籤,換行等,然後用戶開始輸入他們允許的字符。 – user420667 2012-03-27 17:20:18

+0

像Lotus一樣在Notes中使用?在輸入密碼時,它會在密碼文本框中顯示各種字符/圖像。 – kpcrash 2012-03-27 17:20:30

回答

2

沒有,我不認爲這是可能的。

編輯

你爲什麼不使用的東西如不按照你的密碼長度規則的默認密碼,允許的字符等? (即使你允許所有字符,允許單字符密碼不是真的一個選項,是嗎?)

+0

完全不可能。 – fie 2012-03-27 17:19:34

+0

我想提供一個默認密碼,並且只有當用戶更改密碼時才保存它。但我不想限制他們使用任何密碼。 – user420667 2012-03-27 17:21:57

+0

因爲我實際上並不知道密碼規則。這是第三方的東西。 – user420667 2012-03-27 18:01:54

1

您可能想要使用製表符(即「\ t」)。但我相信有一個更好的方式可以做任何你想做的事情。

編輯

我想我明白你現在要問什麼。

這應該做你想做的。它是JavaScript,但它非常簡單。

<input type="password" name="userpass" value="   " onfocus="if(this.pwclick == undefined){ this.default = this.value; this.value=''; this.pwclick = 1;}" onblur="if(this.value == ''){this.value = this.default;this.pwclick = undefined;}" /> 

然後在後端執行以下操作,即使用戶關閉了javascript,也會導致javascript兼容。

if(userpass.Trim().Length > 0{ 
    # actions to change the user's password 
} 
+0

Tab?粘貼一個是微不足道的。我希望我能想到他們想要做的事情。坦白地說,我不知道.. – 2012-03-27 17:20:48

+0

我知道,我知道。 - 也許.....他希望在數據庫中設置一個變量爲每個用戶的untypable字符,這些字符的行爲就像鹽一樣會與用戶的密碼串聯起來。我不知道。 – fie 2012-03-27 18:01:52

+0

不用,這裏的目標是不必編寫特殊的javascript來使它成爲如此,如果用戶第一次更改密碼字段,它應該清除它,但如果他/她隨後更改它(在提交之前)它會不清楚該領域。此外,不要禁止默認密碼'****'說。我的目標可以通過更多的工作來實現,但如果有方法使用無法從客戶端分配的特殊字符進行設置,則會更容易。 – user420667 2012-03-27 18:10:42

0

只需添加你intialize密碼文本框,與同一文本intialized另一個隱藏字段。如果他們提交時仍然是一樣的,就給他們一個錯誤。

2

我同意不可能指定用戶自己無法輸入的字符;然而,普通用戶輸入某些字符可能非常困難。

更詳細地說;使用Windows中的標準美式104鍵鍵盤,可以通過按住Alt鍵並使用數字鍵盤鍵入字符代碼來輸入Unicode字符代碼。所以,有人可以輸入一個不出現在鍵盤上的字符,並且不能用修飾符和字母鍵的組合鍵入。全球99%的電腦用戶不知道這是可能的,即使剩下的1%也可能需要查找特定非標準字符的代碼。

現在,使用拉丁字符但帶有重音符號和其他修飾的其他語言具有更容易訪問的修飾鍵組合,允許用戶輸入重音字母,就像英語人使用大寫字母一樣。顯然,使用不同字符集的地區中的用戶可以使用鍵盤輸入非常神祕的符號。在其中一種文化中的用戶可以更容易地訪問美國104個關鍵用戶難以使用的角色。

因此,無法在代碼中指定Unicode代碼頁中的字符,而這些字符不能由用戶在其鍵盤上進行復制。但是,他們必須確切知道正在使用哪個字符以及它的Unicode代碼,以便重現它。

+0

並非完全不可能,因爲您可以在JavaScript中將其限制在某種程度。但我明白你的意思了,謝謝。 – user420667 2012-03-27 18:06:14

+0

您也可以禁用JavaScript。 – KeithS 2012-03-27 18:17:17

+0

這是真的,但如果是這樣的話,該頁面不應該工作:-P。 – user420667 2012-03-27 18:18:28