1.5emapvalidate
1.5.1总体介绍
emapvalidate本身是系统应用,已实现功能防跨站点脚本攻击。实现判断逻辑如下:
ü判断请求来源是否为空,空合法,否则进行下一步判断
ü判断请求来源与请求地址域名是否一致,一致合法请求否则进行下一步判断
ü判断请求来源域名是否与白名单域名一致,一致合法,否则进行下一步判断
ü判断请求地址是否属于不判断访问来源的地址,属于合法。
以上都不满足的拒绝请求。
另外还判断了参数中是否包含script脚本,简单来说就是如果请求的参数中有包含“<script”的,将会抛出非法参数的异常。
1.5.2参数配置
1.5.2.1emap.properties增加配置参数
app.sys.list=emapvalidate
目的是注册emapvalidate为系统应用。
注:如果运行环境版本高于1.8.19.B95,则可不用配置上面这个参数。
emapvalidate.domains=www.baidu.com,www.google.com
表示域名白名单,认为这些是合法来源域名。可选参数,当应用没有外部的访问来源时,无需配置此参数。多个域名地址逗号隔开。
注:emap.properties具体位置及说明见《EMAP运行环境的配置说明》。
系统应用见<2.7 注册系统应用配置>。
1.5.2.2app.properties增加配置参数
比如app1开发菜单m1不需要判断访问来源,则在对应的app1中增加app.properties配置文件。
注:此配置项由开发人员设置,实施时无需关注。
配置示例:
url.referercheck.ignore=/sys/xljkapp/modules/test.do
多个配置逗号隔开,支持AntPath格式。