ユーザーが自分の名前を書き込める HTML テキスト入力があります。この名前はわかりやすい表示名であり、データベース内のユーザーの識別やバックエンドでの使用には使用されません。
utf-8 文字を許可して、中国語やスウェーデン語など、母国語の文字を入力できるようにしたいと考えています。
ただし、<、>、[、]、?、* などの特定の文字をブラックリストに登録して、入力を悪用して SQL インジェクションなどを実行しようとする潜在的なスクリプト キディを阻止したいと考えています。
これは簡単なコードで、ウェブ上に多くの例があると思いましたが、もし答えがあるとしても、ホワイトリストを使用して電子メール アドレスを検証する方法の例の中に埋もれています (英語の英数字のみで、アジア文字は含まれません)。または他の言語固有の文字)、または奇妙なことに、特定の文字のキー押下を完全に停止する方法。
私の場合、ユーザーを混乱させる可能性があると思うので、キーの押下を完全に停止したくありません。代わりに、ブラックリストに登録されている文字を入力した場合、文字 X を使用できないというエラーを出力します。
では、私のような正規表現がまったく苦手な人にとって、Javascript で文字をブラックリストに登録する簡単な方法はありますか?
また、使用している言語に関係なく、ユーザーがファンキーな文字を入力する機能を妨げない場合は、ホワイトリスト ソリューションを使用します。