- 浏览: 666947 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (364)
- quick start (57)
- bboss aop (43)
- bboss mvc (48)
- bboss persistent (96)
- bboss taglib (30)
- bboss event (10)
- bbossgroups (52)
- bboss (32)
- bboss会话共享 (17)
- bboss rpc (7)
- bboss 国际化 (5)
- bboss 序列化 (9)
- bboss cxf webservice (8)
- bboss hessian (3)
- bboss 安全认证SSO (15)
- bboss 工作流 (6)
- 平台 (18)
- bboss quartz (3)
- 杂谈 (5)
- 大数据 (1)
- bboss elastic (24)
- bboss http (1)
- bboss kafka (1)
- Elasticsearch Scroll和Slice Scroll查询API使用案例 (1)
最新评论
-
qianhao123:
...
采用gradle构建和发布bboss方法介绍 -
qianhao123:
[img][/img]
采用gradle构建和发布bboss方法介绍 -
yin_bp:
欢迎大家参与working
高性能elasticsearch ORM开发库使用介绍 -
qq641879434:
万分感谢
bboss 持久层sql xml配置文件编写和加载方法介绍 -
yin_bp:
qq641879434 写道怎么设置配置文件 可以查看执行的S ...
bboss 持久层sql xml配置文件编写和加载方法介绍
bboss防止跨站攻击策略
此前博客中撰文介绍了bboss 动态令牌机制轻松搞定表单重复提交的方法,本文介绍bboss防止跨站攻击的方法。
通过增强bboss字符编码转换器的功能实现防止跨站攻击功能:
com.frameworkset.common.filter.CharsetEncodingFilter
单纯(不具备防止跨站攻击能力)的字符编码转换过滤器的使用方法如下:
这种情况下CharsetEncodingFilter是不具备防止跨站攻击功能的,但是为其增加两个init-param参数后就可以了:
wallfilterrules 指定黑名单单词表,以逗号分隔多个单词,只要在参数值中出现其中的一个单词,参数值就会被置为null(即参数被过滤掉)
wallwhilelist 指定不会被黑名单检测的参数的名称清单,多个参数以逗号分隔,白名单中的参数安全性需要应用程序自己控制,对值中出现的非法字符需要进行相应的处理后再输出到客服端(比如,针对浏览器的转义处理等措施)
下面看一个具体的配置示例:
配置完毕后,可以通过IBM APPSCAN和Netsparker之类的安全扫描工具来验证配置的有效性,同时可以根据测试结果或者实际情况调整wallfilterrules和wallwhilelist两个参数的配置,直到你的系统变得足够安全为止。
此前博客中撰文介绍了bboss 动态令牌机制轻松搞定表单重复提交的方法,本文介绍bboss防止跨站攻击的方法。
通过增强bboss字符编码转换器的功能实现防止跨站攻击功能:
com.frameworkset.common.filter.CharsetEncodingFilter
单纯(不具备防止跨站攻击能力)的字符编码转换过滤器的使用方法如下:
<filter> <filter-name>CharsetEncoding</filter-name> <filter-class>com.frameworkset.common.filter.CharsetEncodingFilter</filter-class> <init-param> <param-name>RequestEncoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>ResponseEncoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>mode</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>checkiemodeldialog</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.frame</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.page</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.freepage</url-pattern> </filter-mapping>
这种情况下CharsetEncodingFilter是不具备防止跨站攻击功能的,但是为其增加两个init-param参数后就可以了:
wallfilterrules 指定黑名单单词表,以逗号分隔多个单词,只要在参数值中出现其中的一个单词,参数值就会被置为null(即参数被过滤掉)
wallwhilelist 指定不会被黑名单检测的参数的名称清单,多个参数以逗号分隔,白名单中的参数安全性需要应用程序自己控制,对值中出现的非法字符需要进行相应的处理后再输出到客服端(比如,针对浏览器的转义处理等措施)
下面看一个具体的配置示例:
<filter> <filter-name>CharsetEncoding</filter-name> <filter-class>com.frameworkset.common.filter.CharsetEncodingFilter</filter-class> <init-param> <param-name>RequestEncoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>ResponseEncoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>mode</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>checkiemodeldialog</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>wallfilterrules</param-name> <param-value><![CDATA[><,%3E%3C,<iframe,%3Ciframe,<script,%3Cscript,<img,%3Cimg,alert(,alert%28,eval(,eval%28,style=,style%3D]]> </param-value> </init-param> <init-param> <param-name>wallwhilelist</param-name> <param-value><![CDATA[content,fileContent]]> </param-value> </init-param> </filter> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.frame</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.page</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharsetEncoding</filter-name> <url-pattern>*.freepage</url-pattern> </filter-mapping>
配置完毕后,可以通过IBM APPSCAN和Netsparker之类的安全扫描工具来验证配置的有效性,同时可以根据测试结果或者实际情况调整wallfilterrules和wallwhilelist两个参数的配置,直到你的系统变得足够安全为止。
发表评论
-
bboss ioc快速入门教程
2017-08-13 11:28 1195bboss是一个非常不错的ioc框架,功能类似于spr ... -
bboss kafka组件使用介绍
2017-07-22 14:03 1245bboss kafka组件使用介绍 本文使用的实例对应的gra ... -
bboss log4j滚动日志文件扩展插件使用介绍
2017-06-25 11:05 1372bboss扩展了log4j滚动切割文件插件org.apache ... -
bboss redis组件使用实例
2017-03-04 16:57 1102在工程中导入bboss redis组件 gradle comp ... -
bboss 与ecipse gradle buildship插件结合使用方法
2017-02-23 09:48 1140本文介绍bboss 与ecipse gradle builds ... -
如何快速高效地开发和调试基于gradle管理的web应用
2016-09-28 23:39 1389本文探讨如何高效快速地开发和调试基于gradle管理的web应 ... -
bboss wordpdf构建部署介绍
2016-09-02 15:47 513bboss wordpdf构建部署介绍 下载 源码下载地址: ... -
bboss gradle工程导入eclipse介绍
2016-07-24 14:01 2833bboss gradle工程导入eclipse介绍(本文适用于 ... -
采用gradle构建和发布bboss方法介绍
2016-05-01 23:23 4432采用gradle构建和发布bboss版本及从maven中央库下 ... -
bboss 令牌和凭证redis存储机制配置
2016-03-29 20:42 1318bboss 提供了四种令牌和凭证存储机制: 内存 不能在集 ... -
bboss 票据实现系统SSO功能介绍
2016-03-10 16:50 1599测试环境应用账号: app ... -
bboss文件缓存组件FileContentCache介绍
2016-02-27 15:23 635bboss文件缓存组件FileContentCache介绍 ... -
bboss自动代码生成工具使用指南
2015-11-15 21:09 9960本文介绍bboss自动代码生成工具使用方法 工具在线试用: ... -
bboss应用程序运行容器使用介绍
2015-06-22 16:15 1852bboss微服务运行容器使 ... -
bboss框架配置监控介绍
2015-01-12 14:26 1582bboss框架配置监控介绍 ... -
平台自定义资源权限控制使用方法
2014-10-23 11:17 1588本文以一个简单的实例来介绍bboss平台自定义资源权限控制使用 ... -
bboss开发、模块工程目录结构及功能说明
2014-10-15 19:46 4704基于bboss开发项目说明 ... -
平台登录账号口令加密机制设置方法
2014-10-13 16:35 1084平台登录账号口令加密机制设置方法 平台加密机制: ... -
bboss安全认证过滤器认证后重定向到请求页面功能介绍
2014-10-12 10:55 1258本文介绍bboss安全认证 ... -
bboss最佳实践gradle工程清单及其作用介绍
2014-09-27 09:13 2145基于bboss开发项目说明 ...
相关推荐
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
NULL 博文链接:https://yin-bp.iteye.com/blog/1528721
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
企业级 J2EE 开源框架:bboss
bboss+es基本操作示例,elasticsearch,bboss,java使用demo
NULL 博文链接:https://yin-bp.iteye.com/blog/926166
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
官方版本,亲测可用
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
NULL 博文链接:https://yin-bp.iteye.com/blog/2174863
NULL 博文链接:https://yin-bp.iteye.com/blog/2177475
浙江移动BBOSS系统快速入门手册V0.1归类.pdf
NULL 博文链接:https://yin-bp.iteye.com/blog/1131637
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
官方版本,亲测可用