CXF Web服务限制

时间:2011-05-13 16:00:45

标签: java web-services security cxf

我是CXF的新手,我想知道它是否有任何内置机制可以限制对Web服务的并发调用数量,从而解决了DoS攻击的可能性?类似于WCF的这个功能?

http://www.danrigsby.com/blog/index.php/2008/02/20/how-to-throttle-a-wcf-service-help-prevent-dos-attacks-and-maintain-wcf-scalability/

1 个答案:

答案 0 :(得分:4)

CXF具有某些能力来开箱即用。 CXF端点可以在调用程序上配置工厂,用于获取调用的Object。开箱即用,有一个PooledFactory可以维护一个实例池。它可以设置为 not 创建超出最大值的其他实例,从而等待更多的实例被释放。这可以扼杀一些东西。您可以通过spring配置或通过impl:

上的注释进行配置
@FactoryType(value=FactoryType.Type.POOLED, args={"25"})

(25是池的最大大小)

然而,这在处理方面已经很晚了。当它到达那里时,所有的XML都已被解析,jaxb对象被创建等等......对于DOS,你可能想要提前停止。您可以实现一个拦截器,该拦截器将在链中尽早存在,以便将计数存储在端点上。递增并检查传入链,减少传出链。