クライアントがU/Pでログインするためのサイトがあります。ユーザー名はメールアドレスである必要があるため、エラーログから、一部のユーザーが誤ってメールをフォーマットで貼り付けていることに気づきました。
<My Name> myemail@test.com
pwdフィールドに。これに気付いたのは、.NETが<を含むために潜在的に危険なRequest.Formに関するエラーをスローするためです。「<」を「<」に置き換えることができるjavascript関数があり(その後のスペースはエラーを引き起こしません)、それをパスワードに適用したいと思います-とにかく正しくありませんが、少なくともそれらは危険なキャラクターについての大きくて醜いメッセージの代わりに、素敵な「無効なパスワード」メッセージ。もちろん、パスワードなので、最初にタイプをテキストに変更しない限り、置換を行うことはできません。これが私が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';
}
これは、IIS7を実行しているIEのローカルマシンで正常に機能しました。しかし、IIS6の本番環境では、「typeプロパティを取得できませんでした」というエラーが発生します。javascriptを取得してテキストボックスの種類を変更したり、パスワードフィールドの問題のある文字を置き換えたり、危険な文字エラーを回避したりする方法はありますか?ポストバックコードが実行される前に危険な文字エラーが常に表示されるため、コードビハインドコードを使用できません。
ご協力いただきありがとうございます。-VG