为解决点击劫持问题,可以通过修改 iServer 配置文件【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF\web.xml 来启用防护点击劫持攻击。
配置开启点击劫持攻击如下所示,其中已填入项为默认值:
<filter> <filter-name>httpHeaderSecurity</filter-name> <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>antiClickJackingEnabled</param-name> <!-- 可选值:true、false分别表示开启和关闭点击劫持防护 --> <param-value>true</param-value> </init-param> <init-param> <param-name>antiClickJackingOption</param-name> <!-- 点击劫持的防护策略,支持的参数值及对应策略如下:1)DENY:禁止所有域名嵌入;2)SAMEORIGIN:仅允许同源嵌入;3)ALLOW-FROM uri:仅允许指定 URI 嵌入 --> <param-value>SAMEORIGIN</param-value> </init-param> <init-param> <param-name>blockContentTypeSniffingEnabled</param-name> <!-- 可选值:true、false分别表示开启和关闭禁用浏览器 MIME 类型嗅探。开启后需添加 X-Content-Type-Options:nosniff 头 --> <param-value>false</param-value> </init-param> </filter> <filter-mapping> <filter-name>httpHeaderSecurity</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
1、要使 httpHeaderSecurity 真正起到防护作用,需要在 web.xml 中定义该 filter 和 filter-mappping ;并且<filter-mapping>...</filter-mapping>有严格的执行顺序, httpHeaderSecurity 对应的 filter-mapping 节点需要放在 CorsFilter 之前。
2、在 web.xml 配置完成后,重启 iServer 方可生效。