阅读更多
SecureSession是Java平台上的一款高安全、高可用、高性能、高可扩展的Session管理系统。

1. 软件需求
·JDK5 +
·Oracle10g +
·Servlet2.3 +
SecureSession采用JDK5与Oracle10g进行开发,可以部署到任何支持Servlet2.3规范的服务器上。

2. 概述
SecureSession是一款独立的Session管理系统。独立意味着:
·它与应用服务器无关:任何应用服务器只要支持Servlet2.3规范都可以使用;
·它与你所采用的框架无关;
·它与你的应用无关:你无需修改任何代码就可以将它作为独立的一层(例如通过Servlet filter)添加到现有的Web应用之上;
·它与Session数据无关:它只提供一个每次变化的Session id,它不与Session数据关联;
·它与JEE容器缺省的Session标识符jsessionid无关:你可以使用一个任意的标识符。

3. 高安全特征
在基于Web的应用中,Session id代表了用户身份。应用服务器通常只为用户的每次会话提供一个固定不变的Session id,因此攻击者很容易利用这一点进行各种危险性攻击。
SecureSession通过下列措施,提供了一个极端安全的Session id。
·64位长度
·256位加密
·IP地址绑定
·不接受任何预设值
·每次变化
·旧值立即失效
·httponly
·系统内唯一
·支持任意超时时间
·支持任意的Session Key,不必是固定的“jsessionid”
·支持通过cookie、URL或同时通过cookie和URL传递
因此SecureSession可以有效地防止下列Session攻击,或极大地提高了下列攻击的难度。
·Session拦截
·Session猜测
·Session强力攻击
·Session固定
·Session劫持(应用级别)
其实,SecureSession不仅对上述攻击有效,它对基于固定的Session Id所进行的各种攻击以及需要通过多个画面才能完成的各种攻击也能有效避免。

4. 应用特征
除上述安全特征以外,SecureSession还为Web应用提供了下列功能:
·避免用户重复登录
·避免用户重复提交
·避免用户打开多个浏览器窗口
·避免用户打开多个浏览器Tab
·以更优雅的方式控制浏览器的后退按钮
·支持为不同用户设置不同的超时时间
·支持为不同的Action设置不同的超时时间
·可以控制Web应用的负载水平
·支持Oracle RAC或独立的数据库
·支持海量数据(最大100亿用户,100台数据库,100个分区表)
·支持多种负载平衡算法
·支持不同的Log系统
以上这些特征是所有设计良好的Web应用都需要识别并解决的问题。

5. 高性能
SecureSession通过下列技术实现了高性能:
·线程池
·连接池
·垂直分割
·水平分割
·数据库优化

6. 其它高级特性
基于Oracle RAC,提供了失败恢复、负载平衡、高可用、高可扩展等各种高级特性。

7. 适用范围
1. 核心组件
SecureSession不仅提高了Session的安全性,而且还解决了所有Web应用都要面临的许多问题,因此可以作为核心组件,应用到任何Web应用中。
2. 电子支付
特别适用于网上支付、手机支付等各种支付平台。
3. 网站
特别适用于银行、保险、证券、政府、电子商务、大型企业等各种对安全性要求较高的Web应用或Web服务。实际上,安全是所有Web应用必须具备的基本特征,因此从这一点上来说,它适合于所有Web应用。
4. 硬件
可以与各种硬件认证设备例如U宝、U盾等结合,以提供更高的安全性。
5. 其它
其它各种可能的应用。
来自: SecureSession
11
2
评论 共 19 条 请登录后发表评论
19 楼 Arden 2009-07-28 13:03
sessionid每次变化,不与session数据绑定?那怎么实现session的作用?
18 楼 netfork 2009-06-01 18:31
经过测试,效果相当好,不亏为企业级的产品。
17 楼 aya331 2009-05-28 21:28
内存级别,数据库级别,
16 楼 aya331 2009-05-28 21:27
太强大了,想到了数据库。
15 楼 shrpcn 2009-05-28 15:37
oracle 10g 太贵了吧? 还是内存数据库比较好点
14 楼 securesession 2009-05-28 11:16
springhill 写道

没人敢用,刚评估版就搞技术转让了


所有版本都已完成,释出评估版的目的是让大家试用的。不试用怎知不可用?
13 楼 springhill 2009-05-28 11:03
没人敢用,刚评估版就搞技术转让了
12 楼 securesession 2009-05-28 10:31
技术转让???
11 楼 Arden 2009-05-27 22:09
gqf2008 写道

个人觉得这样的系统用Tokyo Cabinet做存储跟合适,用oracle可能出于商业上的考虑


用timesten或者其它内存数据库更合适~`
10 楼 Arden 2009-05-27 22:08
gqf2008 写道

个人觉得这样的系统用Tokyo Cabinet做存储跟合适,用oracle可能出于商业上的考虑

Tokyo Cabinet 数据检索不方便~~
9 楼 gqf2008 2009-05-27 21:40
个人觉得这样的系统用Tokyo Cabinet做存储跟合适,用oracle可能出于商业上的考虑
8 楼 whaosoft 2009-05-27 20:28
这东西不错啊 开源吗 免费吗?
7 楼 Arden 2009-05-27 18:55
这东西很强在,一直以来就想要这么一套东西,可惜这东西不开源~~
6 楼 netfork 2009-05-27 18:09
终于发布了啊,很牛!
5 楼 securesession 2009-05-27 17:46
主页:http://secure-session.appspot.com/
4 楼 neptune 2009-05-27 16:53
应该是收费的,多少钱,有人用过吗?
3 楼 securesession 2009-05-27 16:15
因为SecureSession的基本设计要求中就包含高可用性和高伸缩性,因此Oracle是当仁不让的第一选择。因此SecureSession不支持其它的数据库。
SecureSession在oracle10环境中进行了充分测试,因此推荐使用Oracle10g,但这并不代表它不能应用到oracle的较低版本上。
2 楼 fangzhouxing 2009-05-27 15:51
支持其他数据库吗?
1 楼 fangzhouxing 2009-05-27 15:51
为何一定要用 Oracle10g  ?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • jmock2.5.1和easymock3.0

    JMock2.5.1和EasyMock3.0以及一些JUnit单元测试所需的jar,让你使用JMock和EasyMock时不用到处找相关的jar。

  • 使用EasyMock或Mockito

    我大部分时间都在使用EasyMock ,但是最近我和一些非常愿意使用Mockito的人一起工作。 我不打算在同一项目中使用两个框架来实现相同的目的,因此我采用了Mockito 。 因此,在过去的几个月中,我一直在使用Mockito ,这是我对两者的比较分析。 与我一起工作的人列举了使用Mockitio的测试可读性的原因,但是我对此有不同的看法。 假设我们要测试以下代码: pu...

  • mockobjects.jar包

    和Junit等一起使用,为测试Dao层提供伪实现

  • Mock工具介绍

    什么是Mock如果将mock单独翻译过来,其意义为“虚假、虚设”,因此在软件开发领域,我们也可以将其理解成“虚假数据”,或者“真实数据的替身”。为什么使用Mock1.解除依...

  • Mock测试工具比较

    Java Mock测试工具比较最近,在做一个Java Web的项目,项目中需要集成一套Mock测试工具。随即对市面上的mock测试工具进行了调研,下面是调研结果。其中,mock测试工具分为单元测试级别的mock工具和接口测试级别的mock工具。1.单元测试级别的mock工具目前,这个级别的mock工具有easymock、jMock、Mockito、Unitils Mock、PowerMock、JMo

  • Easy Mock之对象参数,必须改写equals

    今日使用大名鼎鼎的Easy Mock,发现一个奇怪的现象,Mock的对象的API中如果以String,int等原始类型作为参数,没有什么异常。如果API中使用他对象作为参数,出现一个奇怪的现象: [code="java"] Unexpected method call listPerson(Pager@5b8e8c[pagenumber=1,pagesize=20,searchFields...

  • easymock教程-mock的限制

        easymock并不是万能的,在使用easymock时有一些限制需要注意。   (1) Object方法的限制     我们都知道java是一个单根继承体系,Object是所有类的基类。在Object类上有几个基本的方法,easymock是不能改变其行为的:equals(), hashCode()和toString()。       即对于easymock创建的mock对象,其e...

  • Mock-jmock&easymock 小凯总结

    目录 一、mock和stub 2 (一)相同点: 2 (二)不同点: 2 二、Easy-Mock与JMock介绍 3 (一)原理与模型: 3 (二)Easy-Mock的简单语法介绍 3 (三)JMock的简单使用语法介绍 4 三、easy-mock详细介绍 5 (一)class mocking 5 (二)使用 MocksControl 5 (三) strict mock和ni

  • junit使用mock objects进行单元测试

    上一篇我介绍了使用stub进行单元测试。那么mock objects和stub有何区别?什么情况下使用mock objects呢? 下面摘自junit in action书中的解释: mock objects (或者简称为 mocks),非常适用于将某一部分代码与其他代问隔离开来,并对这部分代码进行测试。 mocks 替换了测试中与你的方法协作的对象,从而提供个隔离层。从这一点来讲,它与 ...

  • powerMock比easyMock和Mockito更强大

    powerMock是基于easyMock或Mockito扩展出来的增强版本,所以powerMock分两种类型,如果你习惯于使用easyMock的,那你就下载基于easyMock的powerMock,反之你喜欢用mockito的话就下载另一种PowerMock.     powerMock之所以说它更强大是因为它解决了easyMock和Mockito没有解决的问题,就是可以模仿static,pri

  • mockito、easymock、powermock使用(1)-介绍

    什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象。程序员通常创造模拟对象来测试其他对象的行为,很类似汽车设计者使用碰撞测试假人来模拟车辆碰撞中人的动态行为。 为什么要使用Mock? 在单元测试中,模拟对象可以模拟复杂的、真实的(非模拟)对象的行为, 如果真实的对象无法放入单元测试中,使用模拟对象就很有帮...

  • 使用Mock Object进行测试

    使用Mock Object进行测试作者:kongxxMockObject概述使用Mock Object进行测试,主要是用来模拟那些在应用中不容易构造(如HttpServletRequest必须在Servlet容器中才能构造出来)或者比较复杂的对象(如JDBC中的ResultSet对象)从而使测试顺利进行的工具。目前,在Java阵营中主要的Mock测试工具有JMock,MockCre

  • junit--用mock object进行隔离测试(上)

    最近抽空翻译了一下manning出版的junit in action,译的比候捷还糟,大家不要bt.以下是第7章的内容第一节   mock object 的介绍:      隔离测试有很多好处,比如测试那些还没有写出来的代码(只要他有个接口)。另外,隔离测试有利于工作团队对代码的一部分进行测试而不用等到所有的部分都开发完毕。     但是,可能最大的 好处就是能够写出相关的测试来测试单个方法,而避

  • Mockito单元测试自定义mock返回

    在上篇博客https://blog.csdn.net/cml_blog/article/details/82820753介绍了SpringBoot中进行单元测试各种小技巧后,发现还有个遗漏的case,那就是在使用的mock的时候,可能需要根据不同的参数返回不同的数据。比如传入aa返回true,传入bb返回false等情况,这里再补充一篇进行说明。 首先还是在AService中新增doSmthing...

  • 单元测试中mock的使用及mock神器jmockit实践

    在最近的r应用的单元测试中,经常需要用到mock,可以说mock在ut (unit test)中是无处不在的。而在r的ut实践中也找到了一种很简洁的mock方式,不仅解决了ut中所有需要mock的地方,而且可以很少量的代码来完成mock。详见下文。   一.Mock的使用场景:   比如以下场景:   1. mock掉外部依赖的应用的HSF service的调用,比如uic,

  • Mockito 入门篇的

    前言:自动化ui测试已经可以完成基本的测试需求,最主要的还是白盒测试,网上看google官方mvp设计模式,正好配套有unit 测试。顺带看了一下,并分享出来定义:Mockito是一个针对Java的mocking框架。它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(ex

  • 有效使用Mock编写java单元测试

    Java单元测试对于开发人员质量保证至关重要,尤其当面对一团乱码的遗留代码时,没有高覆盖率的单元测试做保障,没人敢轻易对代码进行重构。然而单元测试的编写也不是一件容易的事情,除非使用TDD方式,否则编写出容易测试的代码不但对开发人员的设计编码要求很高,而且代码中的各种依赖也常常为单元测试带来无穷无尽的障碍。 令人欣慰的是开源社区各种优秀的Mock框架让单元测试不再复杂,本文简单介绍EasyMoc

  • Mock思想与Java实践 - Mockito

    我们为什么需要Mock? Mockito介绍 创建Mock对象 1.通过方法创建 2.通过注解创建 设置预期返回 Mockito测试案例

Global site tag (gtag.js) - Google Analytics