简述:
JAVAWaf采用Java预言编写,主要针对Web应用,以filter的形式存在,配置灵活,实际根据需求进行相关设置 。
web.xml:
<filter> <filter-name>websecfilter</filter-name> <filter-class>com.hs.security.web.filter.WatchDog</filter-class> <init-param> <param-name>config</param-name> <param-value>/javawaf.xml</param-value> </init-param></filter><filter-mApping> <filter-name>websecfilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>注:javawaf.xml和web.xml为平行目录
javawaf.xml:
- 1最简配置:
- 2特权配置(黑白名单)
url , path , query , domain , retcode举例:
<include type="domain"></include>特权配置的原则:
a. 白名单优先
举例说明:
<input> <include>/hello</include> //需要走拦截逻辑的 <exclude></exclude> //不需要走拦截逻辑的</input>如果配置了include 那么配置exclude 是自动失效,配置这条规则的意思就是说以uri的形式对象为/hellok开头的就进入输入拦截逻辑
b. 输入配置全局生效,输出配置局部生效
举例说明:
<input> <include>/hello</include> //需要走拦截逻辑的 <exclude></exclude> //不需要走拦截逻辑的</input><output> <include></include> <exclude type="retcode">302</exclude></output>这样配置的意思就是,以uri的形式对象为/hellok开头的就进入输入拦截逻辑,并且在返回的时候,响应码为非302的请求进响应拦截
上面的也可以简化为:
<input> <include>/hello</include> //需要走拦截逻辑的</input><output> <exclude type="retcode">302</exclude></output>
- 3关键字配置
- 4全局拦截回调
- 5规则详细配置
Input标签内:
文章插图
【JavaWaf框架】
注:id为要调用规则的编号,这个是必须项,name为自定义的规则名称,会覆盖系统默认名称
include%20和%20exclude%20分别为只针对这条策略的黑白名单;callback也是只针对这条策略的用户自定义hook类,这里主要说一下custom-rules:
用户自定义规则:
replace优先级别最高,如果设置了,就会完全取代系统的所有规则,append规则级别相对比较低,配置了之后默认加到要检查的规则后面
output标签内:
配置与input一样
私信回复学习免费领取最新学习资料
推荐阅读
- JAVA三大框架Struts、hibernate和spring的各自作用是什么?
- 十四款常见的Web前端开发框架
- 6种微服务RPC框架,你知道几个?
- PHP的微服务框架预览
- Android 须知2019流行的框架库及开发语言
- 简述家庭存放千两茶要领
- Python爬虫框架scrapy爬取腾讯招聘
- java框架技能提升:6个国内优秀Java后台管理框架的开源项目
- PHP框架介绍
- spring框架史上最全深入理解