我应该使用睡眠()还是直接拒绝它们 [英] Should i use Sleep() or just deny them

查看:61
本文介绍了我应该使用睡眠()还是直接拒绝它们的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在实现一个延迟系统,这样我认为滥用的任何IP都会自动通过睡眠()获得递增的延迟。

我的问题是,如果攻击者在延迟的同时不断打开新实例,这是否会导致增加的CPU使用率,从而以任何方式终止我的站点?或者,lear()命令使用最少的CPU/内存,并且不会对一个小脚本造成太大负担。我不想直截了当地否认他们,因为我不希望他们以显而易见的方式知道这一限制,但我愿意听听为什么我应该这样做。

[请不要讨论为什么我认为一个IP在一个小网站上滥用,原因如下:我最近构建了一个脚本,Curl‘s a Page&;向用户返回信息,我注意到有几个IP在向我愚蠢的小脚本发送垃圾邮件。太频繁的冰壶运动有时会使我的结果无法从服务器上获得,合法用户也会被毁掉他们的结果。]

推荐答案

休眠不使用接受调用的进程尚未使用的任何CPU或内存。

实现Slear()将面临的问题是,当攻击者在周围等待您的睡眠超时时,您最终会用完文件描述符,然后您的站点将显示为任何其他试图连接的人。

这是一个典型的DDoS场景--攻击者实际上并不试图侵入您的计算机(他们也可能尝试这样做,但这是不同的Storry),相反,他们试图通过耗尽您拥有的所有资源来损害您的站点,这些资源包括带宽、文件描述符、用于处理的线程等--当您的一种资源耗尽时,您的站点看起来像是关闭了,尽管您的服务器并没有真正关闭。

这里唯一的真正防御措施是要么不接受呼叫,要么使用过滤呼叫的动态防火墙配置--或者使用路由器/防火墙盒来执行相同的操作,但不使用服务器。

这篇关于我应该使用睡眠()还是直接拒绝它们的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆