Should i use Sleep() or just deny them(我应该使用睡眠()还是直接拒绝它们)
问题描述
我正在实现一个延迟系统,这样我认为滥用的任何IP都会自动通过睡眠()获得递增的延迟。 我的问题是,如果攻击者在延迟的同时不断打开新实例,这是否会导致增加的CPU使用率,从而以任何方式终止我的站点?或者,lear()命令使用最少的CPU/内存,并且不会对一个小脚本造成太大负担。我不想直截了当地否认他们,因为我不希望他们以显而易见的方式知道这一限制,但我愿意听听为什么我应该这样做。 [请不要讨论为什么我认为一个IP在一个小网站上滥用,原因如下:我最近构建了一个脚本,Curl‘s a Page&;向用户返回信息,我注意到有几个IP在向我愚蠢的小脚本发送垃圾邮件。太频繁的冰壶运动有时会使我的结果无法从服务器上获得,合法用户也会被毁掉他们的结果。]
推荐答案
休眠不使用接受调用的进程尚未使用的任何CPU或内存。
实现Slear()将面临的问题是,当攻击者在周围等待您的睡眠超时时,您最终会用完文件描述符,然后您的站点将显示为任何其他试图连接的人。
这是一个典型的DDoS场景--攻击者实际上并不试图侵入您的计算机(他们也可能尝试这样做,但这是不同的Storry),相反,他们试图通过耗尽您拥有的所有资源来损害您的站点,这些资源包括带宽、文件描述符、用于处理的线程等--当您的一种资源耗尽时,您的站点看起来像是关闭了,尽管您的服务器并没有真正关闭。
这里唯一的真正防御措施是要么不接受呼叫,要么使用过滤呼叫的动态防火墙配置--或者使用路由器/防火墙盒来执行相同的操作,但不使用服务器。
这篇关于我应该使用睡眠()还是直接拒绝它们的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:我应该使用睡眠()还是直接拒绝它们
基础教程推荐
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01