
探讨使用WAF防止DDOS和爬虫攻击
对于一些中小型的业务来说,我们往往希望能够使用少量设备完成更多的业务需求。例如使用WAF防御DDos攻击。但是我们基于OpenResty所开发的WAF,在开发过程中采用了尽可能低成本的部署方...
对于一些中小型的业务来说,我们往往希望能够使用少量设备完成更多的业务需求。例如使用WAF防御DDos攻击。但是我们基于OpenResty所开发的WAF,在开发过程中采用了尽可能低成本的部署方...
OpenResty WAF中已经加入了Lua语言,并且融入了各种功能模块,以前只能用C语言实现的功能,在加入了Lua语言支持以后,都可以用Lua语言实现。 不同类型的WAF对HTTP数据的处理方式,OpenResty有自...
使用OpenResty构建WAF系统时需要用到Lua语言,所以接下来我们要对Lua语言进行简单的学习。Lua语言是巴西人创造的一种语言,在过去的应用场景是与C语言协同工作的,在游戏领域与傳入式领域...
Lua中最常用的复合变量就是Table,正常的Table声明如下所示: arr-(1,2,3,4,5)arr 是有5个元素的变量,我们可以像处理其他语言中的数组那样循环遍历其成员。但 Lua的Table 数据结构又不同于其他...
Lua 语言不是一个纯粹的面向对象编程语言,函数仍然是对语句和表达式进行抽象的主要方法。我们对Lua语言和其他语言不同之处进行介绍。首先通过Lua实现一个简单Web框架的GET方法来介...
为了便于说明问题,我们将Request这个Table复合变量的重要成员变量params用一个固定的字符串表示。在实际框架中,params对应一次请求URL中的各个参数。Request.getlnstance()函数的功能主要是返...
lazytable 还是依赖 setmetatable 和 Table 变量及函数组合,读者可以对其进行调试,深入了解这种场景下使用lazytable的好处。这个例子用了很多Lua语言的技巧,读者可以仔细握摩,其核心操作还是...
基于正则表达式构建安全策略,依赖于安全运营人员的经验,如果安全运营人员不知道攻击者攻击数据的样式与特征,也写不出对应的安全策略。基于正则表达式模式对数据进行建模来发现...
针对挂马的检测策略 同理,我们可以根据设定检测HTTP请求体中的特征,发现PHP挂马程序,代码如下所示:req-body contains ?php, req-body contains eval; req-body contains ?php, req-body contains base64; req-body c...
基于OpenResty的WAF系统会生成日志文件,但WAF本身不承担日志分析的任务,也没有现成的日志分析模块。但日志分析又是日常WAF运维的一项必备工作。我们就介绍一下一般网站 WEB 日志处理的...