本文是bboss 标签库系列文章续篇-安全篇,前两篇文章
《bbossgroups标签使用大全》和
bbossgroups标签库使用大全(续) 介绍了bboss数据展示标签库和逻辑标签库。
本文介绍两个和安全相关的标签:
dtoken
assertdtoken
这两个标签所属的标签定义文件为
pager-taglib.tld,他们配合一起来解决跨站攻击和表单重复提交等安全性问题。
一、dtoken标签
dtoken标签用于在客户端生成动态令牌,用来防止跨站伪造攻击和表单重复提交问题,一般将其放置在:
1.表单中input hidden元素中
2.url的参数串中
3.ajax请求的json参数中
这些都可以通过dtoken标签来实现,dtoken定义在pager-taglib.tld文件中,三种方式参考文档:
bboss 动态令牌机制轻松搞定网站跨站攻击和表单重复提交问题
dtoken属性:
element-可选属性,参数有4个值(如果没有指定默认为input类型):
json 生成json串令牌,名称和值的分隔符默认为'号,如果要指定为"号,那么需要通过jsonsplit参数来指定, 如果jsonsplit为',则输出值为:
* _dt_token_:'1518435257'
* 如果如果jsonsplit为",则输出值为:
* _dt_token_:"1518435257"
input输出input hidden,生成隐藏域令牌,输出值示例为:<input type="hidden" name="_dt_token_" value="-1518435257">
param(等号表达式),生成url参数串令牌, 输出值示例为:_dt_token_=1518435257
token-只生成令牌本身,对于这种方式,客户端必须将该token以参数名_dt_token_传回服务端,否则不起作用,输出值示例为:1518435257
jsonsplit-可选属性,指定json串字符串值得修饰符,默认为',可以指定为"
cache-标识是否在服务器端保存令牌,true保存,false不保存,默认为true,令牌存储机制由tokenFilter的tokenstore参数指定。
fid-可选属性,令牌所属窗体唯一标识,一个窗体只需要一个令牌,如果在同一个窗体中dtoken标签需要出现多次,比如在逻辑判断中出现多次,那么就需要指定fid属性,除此以外都不需要指定fid属性
二、assertdtoken标签
assertdtoken标签没有定义属性集,和dtoken标签配合使用,dtoken标签在客户端放置动态临时令牌,assertdtoken标签用于在服务端页面上判断令牌被客户端传回并且校验令牌是否正确。如果没有启用动态令牌机制,该标签无效;如果启用了,assertdtoken判断令牌是否被客户端传回并且校验令牌是否正确;如果没有传回则拒绝访问,如果传回的令牌已经失效则拒绝访问。
assertdtoken标签主要用于jsp页面,它和assertdtoken注解的功能一致,assertdtoken注解主要用于bboss mvc的控制器方法中。
到此两个简单的标签就介绍完了,虽然简单但却为我们有效解决了以下问题:
1.防止表单重复提交
2.防止跨站脚本编制漏洞
3.防止跨站请求伪造攻击
4.有效避免框架钓鱼攻击
5.有效防止链接注入攻击
分享到:
相关推荐
bbossgroups是一个开源的企业级Java应用框架,旨在简化企业级开发,提高开发效率。本文将深入讲解bbossgroups开发系列文章之一中的最佳实践,涉及bboss MVC框架的基础配置、控制器、数据库访问、DAO组件、业务组件...
在Java开发中,bbossgroups 3.1框架提供了一个名为SQLExecutor的组件,用于简化数据库操作。这个组件提供了一种高效的批处理和单条SQL执行的方式,它基于Apache License 2.0开源,允许开发者在遵守相应条款的情况下...
本文将深入探讨Bbossgroups的体系架构,包括AOP内核、MVC框架、标签库、国际化、主题管理、RESTful架构、持久层框架、分布式事件框架、任务调度、服务发布与访问、安全管理等多个方面。 1. **AOP内核**:AOP(面向...
bbossgroups 3.0 正式发布,这款国内首款集AOP(面向切面编程)、MVC(模型-视图-控制器)、Persistent(持久化)、JSP Taglib(JSP 标签库)、分布式RPC服务及分布式事件框架于一体的J2EE开发框架,为开发者提供了...
5. **安全控制**:bbossgroups 提供了丰富的安全控制机制,包括用户认证、授权和会话管理,保障系统安全。 6. **监控与管理**:提供监控工具和API,方便开发者对系统进行实时监控,快速定位问题。 ### 二、...
bbossgroups 3.1是一个企业级J2EE开发框架,自2005年以来不断发展和完善,旨在提供高效、稳定的开发工具和解决方案。本教程将深入介绍bbossgroups 3.1的主要特性、发展历程以及其在企业项目中的应用。 ### 发展历程...
提供的压缩包文件"bbossgroups 框架培训教程.pptx"和"Bbossgroups演示文档.pptx"可能包含了更多关于bboss mvc框架的详细信息和使用示例,包括如何配置和使用JSONP等特性。建议查阅这些文档以获取更深入的理解。 总...
12. bboss:bbossgroups是首个集成AOP、MVC、持久层、JSP标签库、分布式RPC服务和序列化组件的JavaEE企业级开发框架。 13. BeeFramework:BeeFramework是iOS平台的快速开发框架,特点包括易学易用、组件丰富,提供...
BBoss框架的最新版本bbossgroups-bboss-389b83a可能包含了对原有功能的优化、新特性的添加以及bug修复。开发者在使用时,应详细阅读官方文档,了解其具体变更,以便更好地利用这一强大的工具进行企业级应用的开发。 ...
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的elasticsearch来关联数据库。环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5...
是一个很好的 elasticsearch Java rest 客户端。 它以类似于mybatis的方式操作和访问elasticsearch。 环保要求 JDK 要求:JDK 1.7+ Elasticsearch 版本要求:1.X,2.X,5.X,6.X,7.x,+ Spring Booter 1.x,2.x,+ bbos 降...
该项目是一款基于Java和Shell语言的bboss session framework设计源码,专注于实现跨域集群节点之间的会话共享,并具备良好的会话监控和数据统计功能。该框架包含222个文件,包括164个Java源文件、14个XML配置文件、6...