サーブレットでXSS対策をしたい

次のようなメソッドを持つクラスを作成してstaticメソッドに任せてはどうでしょうか?

public class Sanitizer {

    public static String sanitizing(String str) {

        if (null == str || "".equals(str)) {
            return str;
        }
        str = str.replaceAll("&", "&");
        str = str.replaceAll("<", "<");
        str = str.replaceAll(">", ">");
        str = str.replaceAll("\"", """);
        str = str.replaceAll("'", "'");

        return str;

    }
    
    public static void main(String[] args) {
        
        String beforeStr = "<script> alert(document.cookie); </script>";
        
        System.out.println(beforeStr);
        
        String afterStr = Sanitizer.sanitizing(beforeStr);
        
        System.out.println(afterStr);
        
    }
}

実行結果は以下の通り。

サーブレットでXSS対策をしたい 最後までお読みいただきありがとうございます。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!