サーブレット フィルターによって呼び出され、インジェクション攻撃の試みと Struts に基づく Java Web アプリケーションの XSS をチェックする Java クラスを作成しています。InjectionAttackChecker クラスは、正規表現と java.util.regex.Pattern クラスを使用して、正規表現で指定されたパターンに対して入力を検証します。
そうは言っても、次の質問があります。
- インジェクション攻撃を防ぐために、すべての特殊文字と文字パターン (<>、.、-、<=、==、>= など) をブロックする必要があります。
- そのまま使用できる既存の正規表現パターンはありますか?
- いくつかの特定のケースでは、いくつかの特殊文字パターンを許可する必要があります。いくつかの例の値 (許可される) は (異なる値の区切り文字として「パイプ」| 文字を使用) *Atlanta | です。#654,8号館 #501 | 単純ヘルペス: 慢性潰瘍 (> 1 ヶ月持続) または気管支炎、肺炎、または食道炎 | FUNC & COMP(date_cmp), "NDI & MALKP & HARS_IN(icd10, yes)" . インジェクション攻撃と XSS を防止しながら、これらの文字パターンを許可するには、どのような戦略を採用する必要がありますか?
質問を明確に述べたことを願っています。しかし、そうしなかった場合は、2番目の質問であることをお詫びします。説明が必要な場合はお知らせください。