<?php
if (!isset($_SESSION)) {
session_start();
}
// anti flood protection
if($_SESSION['last_session_request'] > time() - 2){
// users will be redirected to this page if it makes requests faster than 2 seconds
header("location: http://www.example.com/403.html");
exit;
}
$_SESSION['last_session_request'] = time();
?>
Run Code Online (Sandbox Code Playgroud)
我已经测试了这个脚本,因为你提高了第二个它会http://www.example.com/403.html毫无理由地继续重定向.
谁能告诉我为什么?
让我们在逻辑上思考一下......
攻击者的请求已经发送到Web服务器并发送到PHP脚本.导致DDoS攻击失败的瓶颈是网络服务器.
DDoS攻击背后的想法就是 - 导致拒绝服务,其中网站/服务器无法处理任何新请求.所以在这种方法中,这种方法是不合理的.你需要走上请求处理的阶梯.
如果您有一台服务器可供您使用,则更容易.您可以在内核防火墙/ iptables上简单地实施速率限制规则.但假设您无法访问它,Apache仍然可以随时使用 - 尽管效率不高.
在.htaccess中实施规则是一个更好的解决方案,但仍然不完美.但是根据DDoS攻击,开发人员无法阻止它.
| 归档时间: |
|
| 查看次数: |
26959 次 |
| 最近记录: |