All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nablarch.fw.web.handler.secure.XssProtectionHeader Maven / Gradle / Ivy

The newest version!
package nablarch.fw.web.handler.secure;

import nablarch.core.util.StringUtil;
import nablarch.fw.web.HttpResponse;
import nablarch.fw.web.servlet.ServletExecutionContext;

/**
 * X-XSS-Protectionレスポンスヘッダを設定するクラス。
 * 

* デフォルトでは、X-XSS-Protectionが有効となる。 * 無効化する場合には、{@link #setEnable(boolean)}に{@code false}を設定する。 * また、モードを変更及びモードの出力を抑制したい場合には、{@link #setMode(String)}を使用して設定する。 * ({@link #setMode(String)}に空文字列を設定すると、モードの出力が抑制される。 * * @author Hisaaki Shioiri */ public class XssProtectionHeader implements SecureResponseHeader { /** 有効にするかどうか */ private boolean enable = true; /** モード */ private String mode = "block"; @Override public String getName() { return "X-XSS-Protection"; } @Override public String getValue() { final StringBuilder result = new StringBuilder(16); result.append(enable ? '1' : '0'); if (StringUtil.hasValue(mode)) { result.append("; mode=") .append(mode); } return result.toString(); } /** * 常に出力するので、{@code true}を返す。 */ @Override public boolean isOutput(final HttpResponse response, final ServletExecutionContext context) { return true; } /** * X-XSS-Protectionを有効にするか否かを設定する。 * * @param enable {@code true}を設定した場合有効となる */ public void setEnable(boolean enable) { this.enable = enable; } /** * モードを設定する。 * * @param mode モード */ public void setMode(String mode) { this.mode = mode; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy