1 简介
wp站点防止别人进行DDOS攻击。
2 配置位置
位置:根目录/wp-config.php
3 配置内容
在【根目录/wp-config.php】文件的开头添加如下代码:
if(strpos($_SERVER['REQUEST_URI'], 'xmlrpc.php') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/index.php?lang=') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/index.php?s=') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/wp-cron.php?doing_wp_cron=') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/backup/') !== false){
    if(strpos($_SERVER['REQUEST_URI'], '.tar.gz') !== false || strpos($_SERVER['REQUEST_URI'], '.sql.tar') !== false || strpos($_SERVER['REQUEST_URI'], '.zip') !== false || strpos($_SERVER['REQUEST_URI'], '.sql') !== false || strpos($_SERVER['REQUEST_URI'], '.rar') !== false){
	    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
   	    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
                $protocol   = 'HTTP/1.0';
    	    }
    	   header("$protocol 403 Forbidden", true, 403);
    	   die;
    }
}
if(strpos($_SERVER['REQUEST_URI'], '/backups/') !== false){
    if(strpos($_SERVER['REQUEST_URI'], '.tar.gz') !== false || strpos($_SERVER['REQUEST_URI'], '.sql.tar') !== false || strpos($_SERVER['REQUEST_URI'], '.zip') !== false || strpos($_SERVER['REQUEST_URI'], '.sql') !== false || strpos($_SERVER['REQUEST_URI'], '.rar') !== false){
	    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
   	    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
                $protocol   = 'HTTP/1.0';
    	    }
    	   header("$protocol 403 Forbidden", true, 403);
    	   die;
    }
}
if(strpos($_SERVER['REQUEST_URI'], '/back/') !== false){
    if(strpos($_SERVER['REQUEST_URI'], '.tar.gz') !== false || strpos($_SERVER['REQUEST_URI'], '.sql.tar') !== false || strpos($_SERVER['REQUEST_URI'], '.zip') !== false || strpos($_SERVER['REQUEST_URI'], '.sql') !== false || strpos($_SERVER['REQUEST_URI'], '.rar') !== false){
	    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
   	    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
                $protocol   = 'HTTP/1.0';
    	    }
    	   header("$protocol 403 Forbidden", true, 403);
    	   die;
    }
}
if(strpos($_SERVER['REQUEST_URI'], '/old/') !== false){
    if(strpos($_SERVER['REQUEST_URI'], '.tar.gz') !== false || strpos($_SERVER['REQUEST_URI'], '.sql.tar') !== false || strpos($_SERVER['REQUEST_URI'], '.zip') !== false || strpos($_SERVER['REQUEST_URI'], '.sql') !== false || strpos($_SERVER['REQUEST_URI'], '.rar') !== false){
	    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
   	    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
                $protocol   = 'HTTP/1.0';
    	    }
    	   header("$protocol 403 Forbidden", true, 403);
    	   die;
    }
}
if(strpos($_SERVER['REQUEST_URI'], '/?author=') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/wp-json/wp/v2/') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/css/index.php') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], 'allow_url_include') !== false){
    if (strpos($_SERVER['REQUEST_URI'], 'php://input') !== false) {
        $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
        if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
            $protocol   = 'HTTP/1.0';
        }
        header("$protocol 403 Forbidden", true, 403);
        die;
    }
}
if(strpos($_SERVER['REQUEST_URI'], '/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/.DS_Store') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/css/') !== false){
    if (strpos($_SERVER['REQUEST_URI'], '.php') !== false) {
        $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
        if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
            $protocol   = 'HTTP/1.0';
        }
        header("$protocol 403 Forbidden", true, 403);
        die;
    }
}
if(strpos($_SERVER['REQUEST_URI'], '/www.sql') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/dump.sql') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/backup.sql') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/database.sql') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
}
if(strpos($_SERVER['REQUEST_URI'], '/cgi-bin/luci/;stok=/locale?') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';
    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }
    header("$protocol 403 Forbidden", true, 403);
    die;
} 智享笔记
								    智享笔记								 
                             
                             
                             
                            