PHP Von einer IP-Adresse nur die ersten zwei/drei Blöcke weiterverarbeiten

synthpower

Primero
ID: 121052
L
7 Juni 2006
404
27
Hallo, allerseits!

Ich verwende ein Script, das IP-Adressen ermittelt und sperrt, die auf meinem Webspace an Stellen rumschnüffeln, wo sie definitiv nix zu suchen haben. Die ermittelte IP wird (über ein txt-File) in die .htaccess geschrieben und ist damit permanent geblockt.

PHP:
function set_deny() {

  $ip = ip();                                                            
  $ipliste = @file('./blockedip/blocked.txt');

...

PHP:
  $ipliste[] = $ip . '|' . $t . "\n";                           
  @file_put_contents('./blockedip/blocked.txt', $ipliste);

Jetzt hatte ich die Idee, dass ich anstatt der konkreten IP-Adresse aaa.bbb.ccc.hhh nur die ersten zwei bzw. drei Blöcke (also aaa.bbb bzw. aaa.bbb.ccc) in die .txt schreiben lasse, um etwas globaler gegen den vermeintlichen Angreifer vorzugehen.

Meine Frage ist: geht das überhaupt und wenn ja, wie?

Vielen Dank vorab!

VG Andy
 
Klar geht das:

PHP:
// Die ersten zwei Stellen
$ip_part = implode('.', array_slice(explode('.', $ip), 0, 2));

// Die ersten drei Stellen
$ip_part = implode('.', array_slice(explode('.', $ip), 0, 3));