- 浏览: 697686 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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 1281bboss是一个非常不错的ioc框架,功能类似于spr ... -
bboss kafka组件使用介绍
2017-07-22 14:03 1356bboss kafka组件使用介绍 本文使用的实例对应的gra ... -
bboss log4j滚动日志文件扩展插件使用介绍
2017-06-25 11:05 1448bboss扩展了log4j滚动切割文件插件org.apache ... -
bboss redis组件使用实例
2017-03-04 16:57 1189在工程中导入bboss redis组件 gradle comp ... -
bboss 与ecipse gradle buildship插件结合使用方法
2017-02-23 09:48 1201本文介绍bboss 与ecipse gradle builds ... -
如何快速高效地开发和调试基于gradle管理的web应用
2016-09-28 23:39 1478本文探讨如何高效快速地开发和调试基于gradle管理的web应 ... -
bboss wordpdf构建部署介绍
2016-09-02 15:47 571bboss wordpdf构建部署介绍 下载 源码下载地址: ... -
bboss gradle工程导入eclipse介绍
2016-07-24 14:01 2940bboss gradle工程导入eclipse介绍(本文适用于 ... -
采用gradle构建和发布bboss方法介绍
2016-05-01 23:23 4704采用gradle构建和发布bboss版本及从maven中央库下 ... -
bboss 令牌和凭证redis存储机制配置
2016-03-29 20:42 1393bboss 提供了四种令牌和凭证存储机制: 内存 不能在集 ... -
bboss 票据实现系统SSO功能介绍
2016-03-10 16:50 1705测试环境应用账号: app ... -
bboss文件缓存组件FileContentCache介绍
2016-02-27 15:23 708bboss文件缓存组件FileContentCache介绍 ... -
bboss自动代码生成工具使用指南
2015-11-15 21:09 10151本文介绍bboss自动代码生成工具使用方法 工具在线试用: ... -
bboss应用程序运行容器使用介绍
2015-06-22 16:15 1943bboss微服务运行容器使 ... -
bboss框架配置监控介绍
2015-01-12 14:26 1676bboss框架配置监控介绍 ... -
平台自定义资源权限控制使用方法
2014-10-23 11:17 1699本文以一个简单的实例来介绍bboss平台自定义资源权限控制使用 ... -
bboss开发、模块工程目录结构及功能说明
2014-10-15 19:46 4912基于bboss开发项目说明 ... -
平台登录账号口令加密机制设置方法
2014-10-13 16:35 1150平台登录账号口令加密机制设置方法 平台加密机制: ... -
bboss安全认证过滤器认证后重定向到请求页面功能介绍
2014-10-12 10:55 1351本文介绍bboss安全认证 ... -
bboss最佳实践gradle工程清单及其作用介绍
2014-09-27 09:13 2312基于bboss开发项目说明 ...
相关推荐
标题"bboss mvc 通过jsonp实现跨站跨域远程访问"表明我们将会讨论如何使用bboss MVC框架来实现在Java Web应用中通过JSONP进行跨域请求。bboss MVC是一个基于Java的轻量级MVC框架,它提供了丰富的API和配置选项,使得...
安全性方面,bboss会话共享通过在客户端基于cookie机制存储sessionid,并设置cookie的HttpOnly属性来防止XSS攻击窃取sessionid,通过设置Secure属性并在HTTPS环境下传输来防止sessionid被窃取。同时,还提供会话信息...
1. **模型(Model)**:BBoss MVCDemo支持多种数据访问方式,如JDBC、Hibernate或MyBatis,允许开发者根据项目需求选择合适的数据访问策略。模型层负责处理业务逻辑和数据操作,确保与视图和控制器的解耦。 2. **视图...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
6. **会话超时与退出**:为了防止会话固定攻击,BBoss框架会设置会话超时机制。此外,用户可以通过点击退出按钮来清除会话,此时`SYSAuthenticateFilter`会确保所有相关的认证信息从会话中移除。 通过阅读`...
BBoss(全称为bbossgroups)是一个专为企业级J2EE应用设计的开源框架,它为Java开发者提供了一系列强大的工具和服务,以简化Web应用程序的开发过程。该框架旨在提高开发效率,降低维护成本,同时保持高度的灵活性和...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...
**bboss-datatran** 是一个由 **bboss** 社区开源的高效数据处理工具,专注于数据采集、数据清洗转换以及数据入库等任务。它实现了流批一体化的数据处理能力,使得用户能够灵活地应对实时和批量的数据处理场景。在...
**Elasticsearch 开发环境搭建与 BBoss 入门教程** Elasticsearch 是一个高度可扩展的开源全文搜索引擎,设计用于快速提供近实时的搜索和分析能力。BBoss(Business Boss)是基于Elasticsearch的一个强大且灵活的...
**bboss+es基本操作示例** 在Java开发中,Elasticsearch(ES)作为一种流行的分布式搜索引擎和数据分析工具,常用于大数据处理和实时分析。bboss(Business Basic Operation Support)框架则是针对Elasticsearch...
1. **缓存策略**:BBoss Persistent允许开发者自定义缓存策略,以避免一次性加载整个CLOB或BLOB数据。它可以分块读取和写入,减少内存消耗。例如,当读取BLOB数据时,可以设置每次读取的字节数,以控制内存使用。 2...
3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...
通过Session存储服务,bbosssession能够实现跨容器、跨应用的会话共享。 三、bbosssession性能指标 bbosssession的性能指标主要体现在其支持高并发、快速的会话操作能力上。在存储服务方面,采用Redis相较于Mongodb...
官方版本,亲测可用