phpbar.de logo

Mailinglisten-Archive

[php] Apache access_log verarbeiten

[php] Apache access_log verarbeiten

Olaf Baumert php_(at)_phpcenter.de
07 Aug 2001 00:25:25 -0400


    Hallo Liste,

    weil mir grad ein wenig langweilig ist wollte ich mal nen kleines
    Script schreiben was mir die IP-Adressen, sowie den Zeitpunkt wann
    der Zugriff erfolgte, raussucht wenn die Anfrage von einem Code Red
    erfolgte.

    Doch irgendwie habe ich mich in den Apachelogs verirrt :).

    Ich war schon soweit das ich wenigstens die einzelnen Zeilen des
    Logs in einem Array habe.

    <schnipp>

    $filename = "/var/log/httpd/access_log";
    $fd = fopen ($filename, "r");
    $contents = fread($fd, 10000);
    fclose ($fd);

    $array_content = explode ("\n", $contents);

    </schnipp>

    Tja, und ab da endet mein wissen von Arrays ... und besonders RegExp
    ...

    nun habe ich in jedem Arrayelement, welches eine Anfrage von CodeRed
    enthält, einen Eintrag folgender Form:

    111.111.111.111 - - [01/Aug/2001:19:06:30 -0400} "GET
    /default.ida?XXXXXblabla HTTP/1.0" 400 353 "-" "-"\n

    Nun meine eigentliche Frage:

    Wie stelle ich es nun an das in dem Array wo ja noch alle Anfragen
    drin sind, auch die guten ;), nur noch die CodeRedanfragen drin
    sind?
    Also ein Arrayelement welches nicht auf die regexp passt die, ich
    noch nicht habe ;), den string default.ida enthält?

    Für jede Anregung dankbar,

    Olaf



php::bar PHP Wiki   -   Listenarchive