我有網站爲客戶帶有U/P登錄,因爲用戶名必須爲電子郵件地址我已經通過我們的錯誤日誌注意到,一些用戶不小心粘貼了他們的電子郵件格式IIS6無法獲取類型屬性; JS更換危險字符
<My Name> [email protected]
進入pwd字段。我只注意到這一點,因爲.NET會由於其中的<而引發有關潛在危險的Request.Form的錯誤。我有一個JavaScript函數可以代替「<」和「<」(它不會導致錯誤之後的空格),我想將它應用到pwd - 反正它不正確,但至少它們會得到一個很好的「無效的密碼」信息,而不是一個關於危險角色的大的,醜陋的信息。當然,因爲它是一個密碼,所以我不能進行替換,除非我先將這個類型改爲文本。以下是我在javascript中嘗試的內容:
function replaceSuspectChars(that)
{
that.type = 'text';
//Find '<' not followed by a space, and replace it with a '< '
var text = that.value;
text = text.replace(/</g, "< ");
text = text.replace(/< /g, "< ");
that.value = text;
that.type = 'password';
}
這對我的本地機器在IE中運行良好,運行IIS7。但在IIS6上的生產中,我收到錯誤「無法獲取類型屬性」。有沒有什麼辦法讓JavaScript來改變文本框的類型,或者能夠替換密碼字段中的違規字符,或者其他方式來避免危險的字符錯誤?我無法使用代碼隱藏代碼,因爲在執行回發代碼之前總是顯示危險字符錯誤。
感謝您的幫助。 -VG
謝謝你,但不,我們不希望禁用的驗證。我不明白的是這個工程在IIS7的本地機器上很好。唯一不同的是生產是IIS6,我不明白爲什麼它不會在那裏工作。 –