PHP Security Sicherheit Log Skript für deine Webseite

Für alle Webmaster/innen stellt sich die Frage der Sicherheit beim Betrieb eines eigenen Servers egal ob auf einem Open Source Betriebssystem wie eine Linux Distribution oder einem kommerziellen Betriebssystem. Das keine Sicherheitslücken „offen“ sind und von Angreifern ausgenutzt werden können, dafür sorgt das regelmäßige installieren von relevanten Sicherheitsupdates. Doch was tun gegen Spammer welche sich z.B. in Internet Communities und Foren einloggen und z.B. über private Nachrichten Systeme Werbemails und SPAM Nachrichten verbreiten?

Aktivitäten einfach loggen

Es hat sich in der Praxis für viele Webmaster als praktisch gezeigt, dass nicht nur durch Tracking Services sondern per PHP Skript essentielle Visitor Daten in ein Audit.log gespeichert werden um im Bedarfsfall eindeutig zu belegen, welcher Benutzer sich mit welcher IP Adresse wann auf eine Internet Seite zugegriffen hat. Als Basis Beispiel dient hier das Apache Server Access_log (Zugriffs Protokolldatei, Standard des Apache Webservers).

Aufbau eines Security Log Skripts

Audit.php Datei als Beispiel

 

Vorab ist der Aufbau so eines Skripts relativ einfach und logisch. Anbei copy/paste fertig ein Beispiel Code:

 <?php

// location of the text file that will log all the ip adresses
$file = ‚audit.log‘;

// ip address of the visitor
$ipadress = $_SERVER[‚REMOTE_ADDR‘];

// date of the visit that will be formated this way: 29/May/2011 12:20:03
$date = date(‚d/F/Y h:i:s‘);

// name of the page that was visited
$webpage = $_SERVER[‚SCRIPT_NAME‘];

// in case of using php auth function username will be logged
$PHP_AUTH_USER = $_SERVER[‚PHP_AUTH_USER‘];

// shows the referer url from which visitors came from
$HTTP_REFERER = $_SERVER[‚HTTP_REFERER‘];

// visitor’s browser information
$browser = $_SERVER[‚HTTP_USER_AGENT‘];

// Opening the text file and writing the visitor’s data
$fp = fopen($file, ‚a‘);

fwrite($fp, $ipadress.‘ – [‚.$date.‘] ‚.$webpage.‘ ‚.$PHP_AUTH_USER.‘ ‚.$HTTP_REFERER.‘ ‚.$browser.“\r\n“);

?>

Diesen Code fügt man in eine neue PHP Datei ein die wir nennen: audit.php

Audit Datei

Integration von audit.php in deine Webseite

Beim Implementieren der Audit.php Routine in Deine Webseite ist es wichtig, dass Du dies in eine Datei einbindest welche immer aufgerufen wird, wenn die Internet Seite geladen wird. Logischerweise bietet sich eine Header.php oder eine Footer.php (Namen sind nur beispielhaft, es ist die Kopf- bzw. Fußdatei einer Webseite gemeint) an.

In unserem Beispiel binden wird die Audit.php in die Header.php ein und das macht man wie folgt:

Screenshot aus Header.php – der Code wird am Ende der Datei eingefügt:

PHP Code in einfügen in Header

Copy/paste fertig: 

<?
include „audit.php“;
?>

Im letzten Schritt muss man noch eine Text Datei auf seinem Webserver erstellen und die wird audit.log genannt. Bei Linux unbedingt 777 (volle Schreibrechte) auf diese Datei setzen und vergeben. Nur so kann diese auch vom Skript „beschrieben“ werden mit den Daten:

Auditlog Beispiel, je nach Zugriffszahlen und protokollierten Aktivitäten auf euer Internet Projekt kann dieses Audit.log anwachsen, ab und zu löschen um Serverspeicherplatz zu sparen schadet also nicht 😉

 

Ratgeberin Tipp: Ihr könnt das obige Skript übrigens noch mit verschiedenen Variablen ergänzen welche PHP 5.x standardmäßig verwendet wenn es um User Infos geht. Eine tolle Seite mit Variables findet ihr hier:

http://www.php.net/manual/de/reserved.variables.server.php


Nutzen & Fazit unseres erstellten PHP Skripts:

Loggt sich ein User in Deine Community oder Webseiten Projekt ein und treibt dort Unfug wie das unerlaubte Versenden von Werbe Nachrichten oder das Beleidigen anderer Mitglieder, so kann mit dem Audit.log bewiesen werden, von welcher IP, wann welche Aktion durchgeführt wurde. Spammer haben somit einen Grund mehr, sich zu fürchten. Profis benutzen für Ihre Spam Aktionen in der Regel Proxies trotzdem fühlt man sich als Webseiten Betreiber/in etwas sicherer, wenn Aktivitäten protokolliert werden um im Ernstfall nicht komplett ohne Logs dazustehen.

Weißt euer Nutzer/innen in den AGBs der Webseite darauf hin, welche Daten, wann gespeichert werden. 

Responses are currently closed, but you can trackback from your own site.

Comments are closed.

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen