php – 我应该使用Sleep()还是拒绝它们

前端之家收集整理的这篇文章主要介绍了php – 我应该使用Sleep()还是拒绝它们前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在实施一个延迟系统,以便任何我认为滥用的IP将通过Sleep()自动获得增量延迟.

我的问题是,如果攻击者只是在延迟时打开新实例,这会导致增加cpu使用率并因此杀死我的网站吗?或者sl​​eep()命令使用最小的cpu /内存,并且不会对小脚本造成太大负担.我不想拒绝他们,因为我宁愿他们不明白地知道极限,但愿意听我为什么这么做.

[请不要讨论为什么我认为在一个小网站上滥用知识产权,导致为什么:我最近建立了一个脚本,cURL是一个页面&将信息返回给用户,我注意到一些IP垃圾邮件我的愚蠢的小脚本.经常使用cURLing有时会使我的结果无法从服务器即时轮询中获得,并且合法用户会被搞砸. ]

睡眠不使用接受呼叫的进程尚未使用的任何cpu或内存.

实施sleep()所面临的问题是,当攻击者站点等待你的睡眠超时时,你最终会用尽文件描述符,然后你的网站似乎会被尝试连接的任何其他人.

这是一个典型的DDoS场景 – 攻击者实际上并没有试图闯入你的机器(他们也可能试图这样做,但这是一个不同的故事),而是他们试图通过耗尽你拥有的每一个资源来损害你的网站,无论是带宽,文件描述符,处理线程等等 – 当您的某个资源用完时,您的网站似乎已关闭,尽管您的服务器实际上并未关闭.

这里唯一真正的防御是要么不接受呼叫,要么拥有一个过滤掉呼叫的动态防火墙配置 – 或者一个路由器/防火墙盒,它会执行相同的操作而不是你的服务器.

猜你在找的PHP相关文章