我是CXF的新手,我想知道它是否有任何内置机制可以限制对Web服务的并发调用数量,从而解决了DoS攻击的可能性?类似于WCF的这个功能?
答案 0 :(得分:4)
CXF具有某些能力来开箱即用。 CXF端点可以在调用程序上配置工厂,用于获取调用的Object。开箱即用,有一个PooledFactory
可以维护一个实例池。它可以设置为 not 创建超出最大值的其他实例,从而等待更多的实例被释放。这可以扼杀一些东西。您可以通过spring配置或通过impl:
@FactoryType(value=FactoryType.Type.POOLED, args={"25"})
(25是池的最大大小)
然而,这在处理方面已经很晚了。当它到达那里时,所有的XML都已被解析,jaxb对象被创建等等......对于DOS,你可能想要提前停止。您可以实现一个拦截器,该拦截器将在链中尽早存在,以便将计数存储在端点上。递增并检查传入链,减少传出链。