[Release] Security Suite IP Logger

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Dwing
Ehrenadmin
Beiträge: 1965
Registriert: 17.06.2001 02:00

[Release] Security Suite IP Logger

Beitrag von Dwing »

Hier ist die RC1 vom neuen IP Logger.

Wieso RC
]RC1 nur weil ich noch wissen will wie er unter stark besuchten Boards läuft. d.h. dass er auf einem normalbesuchten Board schonmal sehr gut läuft. Ich hatte nur keine Möglichkeit das ganze auf einem stark besuchten Board zu testen.

Features
+ loggt Zugriffe auf das Board
+ auf Geschwindigkeit optimiertes loggen
+ erkennt automatisch ob das Board von einer Suchmaschine gespidert wurde und gibt eine entsprechende Nachricht aus. (im Moment nicht mit dem MSNBOT)
+ loggt IP, Zeit, Browser, Ports, Via
+ Komprimieren des logfile
+ loggen kann aktiviert/deaktiviert werden
+ Zeitform kann fetgelegt werden
+ Anzahl der Einträge pro Seite kann festgelegt werden
+ Export des Logfiles auf den eigenen PC; wird übersichtlich als TXT oder pdf formatiert (kommt im nächsten Release)

Download
Bisher nur hier: http://developer.berlios.de/project/sho ... se_id=1108
Bitte das File nicht mirroren ohne mich gefragt zu haben.

Wäre schön wenn 2-3 den Logger auf ihrem Board testen würden.

Einfach die Ergebnisse dann hier posten.
AWSW
Ehemaliges Teammitglied
Beiträge: 3365
Registriert: 26.05.2002 12:20

Beitrag von AWSW »

Hallo Dwing,
eingebaut habe ich den MOD noch nicht, aber in der Anleitung ist mir schon mal eine kleine Installationshilfe eingefallen:

Anstatt der Methode über den phpMyAdmin, wo man den Prefix noch anpassen müsste:
#
#-----[ SQL ]------------------------------------------
#
INSERT INTO `phpbb_config` (`config_name`, `config_value`) VALUES ('logger_date', 'd.m.Y - H:i:s');
INSERT INTO `phpbb_config` (`config_name`, `config_value`) VALUES ('logger_log', '1');
INSERT INTO `phpbb_config` (`config_name`, `config_value`) VALUES ('logger_host', '0');
INSERT INTO `phpbb_config` (`config_name`, `config_value`) VALUES ('logger_num', '50');
hab ich Dir schnell mal einen Installer gebastelt, der das übernimmt: "db_install.php"
<?php
define('IN_PHPBB', 1);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'config.'.$phpEx);
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/constants.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

//
//
// Restrict to members:
if( !$userdata['session_logged_in'] )
{
header("Location: " . append_sid("login.$phpEx?redirect=db_install.$phpEx", true));
exit;
}
//
//

if ( $userdata['user_level'] == ADMIN )
{
}
else
{
message_die(GENERAL_MESSAGE, $lang['Not_Authorised'], $lang['Not_Authorised']);
exit;
}

echo '<html>
<head>
<title>SQL-DB-Installer</title>
</head>
<body>
<h1>SQL-DB-Installer</h1>
<hr />';
if (!isset($HTTP_GET_VARS['install'])) {
echo '<a href="?install=1">Bitte hier klicken</a>';
}
else {
$queries = array(

"INSERT INTO " . $table_prefix . "config (`config_name`, `config_value`) VALUES ('logger_date', 'd.m.Y - H:i:s')",
"INSERT INTO " . $table_prefix . "config (`config_name`, `config_value`) VALUES ('logger_log', '1')",
"INSERT INTO " . $table_prefix . "config (`config_name`, `config_value`) VALUES ('logger_host', '0')",
"INSERT INTO " . $table_prefix . "config (`config_name`, `config_value`) VALUES ('logger_num', '50')",

);

$success = true;
foreach($queries as $query) {
if (!$db->sql_query($query)) {
echo 'Es ist ein Fehler aufgetreten ! Änderung nicht erfolgreich !<br /><br />';
echo mysql_error();
$success = false;
break;
}
}
if ($success) {
echo 'DB-Änderung wurde erfolgreich ausgeführt. Du solltest diesen SQL-DB-Installer nun umgehend löschen !';
}
}
?>
LEIDER DAUERHAFT OFFLINE & Ich beantworte keine Fragen zu phpBB per Mail oder PN !
Hinweis: awsw.de ist nun dauerhaft offline. Die MODs könnt Ihr hier in der Datenbank finden.
Bitte keine Anfragen senden, ob ich die MODs anderweitig senden kann - es geht nicht - Danke für Euer Verständnis !
AWSW
Ehemaliges Teammitglied
Beiträge: 3365
Registriert: 26.05.2002 12:20

Beitrag von AWSW »

.... da ist was doppelt drin in der Anleitung ;)

Testen werde ich den MOD wohl nicht, da ich kein PHP4 nutze AFAIK :roll:
#
#-----[ OPEN ]------------------------------------------
#
index.php

#
#-----[ FIND ]------------------------------------------
#
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

#
#-----[ AFTER, ADD]------------------------------------------
#
//
// Start des IP logger
// Bei define wird die Aktion festgelegt
//
define('LOG_ACTION', 'Viewed Forum Index');

include('iplogger.php');


#
#-----[ OPEN ]------------------------------------------
#
index.php

#
#-----[ FIND ]------------------------------------------
#
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

#
#-----[ AFTER, ADD]------------------------------------------
#
//
// Start des IP logger
// Bei define wird die Aktion festgelegt
//
define('LOG_ACTION', 'Forum Index geöffnet);

include('iplogger.php');
LEIDER DAUERHAFT OFFLINE & Ich beantworte keine Fragen zu phpBB per Mail oder PN !
Hinweis: awsw.de ist nun dauerhaft offline. Die MODs könnt Ihr hier in der Datenbank finden.
Bitte keine Anfragen senden, ob ich die MODs anderweitig senden kann - es geht nicht - Danke für Euer Verständnis !
Dwing
Ehrenadmin
Beiträge: 1965
Registriert: 17.06.2001 02:00

Beitrag von Dwing »

hmm, danke fürs feedback.
Sollte auch ohne php4 laufen.

Zumal ich denke, dass jeder Webserver inzwischen mit php4 läuft
AWSW
Ehemaliges Teammitglied
Beiträge: 3365
Registriert: 26.05.2002 12:20

Beitrag von AWSW »

Hallo,
hab es mal lokal installiert...

In der Anleitung fehlt noch ein '
#
#-----[ OPEN ]------------------------------------------
#
index.php

#
#-----[ FIND ]------------------------------------------
#
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

#
#-----[ AFTER, ADD]------------------------------------------
#
//
// Start des IP logger
// Bei define wird die Aktion festgelegt
//
define('LOG_ACTION', 'Forum Index geöffnet');
include('iplogger.php');
Was ist denn der Unterschied zwischen den Menüpunkten:


IP Logger, IP Logger MKB und IP Logger OPT - Da öffnet sich bei mir immer die gleiche Übersicht ?!?:
http://www.awsw.de/Forum/upload/dwing_1.gif

Der Link "Show Via" bringt bei mir nur eine leere MsgBox... :roll:

Schön wäre IMHO auch, wenn man den Beitrag dann sehen könnte, welchen der User betrachtet haben soll und neben der IP auch den Usernamen, wenn der User eingeloggt war oder halt Anonymus... ;)

Getestet lokal unter phpBB 2.0.5 ;)

HTH :D
LEIDER DAUERHAFT OFFLINE & Ich beantworte keine Fragen zu phpBB per Mail oder PN !
Hinweis: awsw.de ist nun dauerhaft offline. Die MODs könnt Ihr hier in der Datenbank finden.
Bitte keine Anfragen senden, ob ich die MODs anderweitig senden kann - es geht nicht - Danke für Euer Verständnis !
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo Dwing,

ich werde den Logger mal bei mir einbauen und testen. Da meine HP ja auf der Struktur vom Forum aufbaut, könnte damit ja jede Seite der HP geloggt werden. Zu deinem Mod habe ich noch eine Frage und zwar muß die folgende Sequenz auf jeder Seite eingebaut werden, die geloggt wird?

#
#-----[ OPEN ]------------------------------------------
#
*********.php

#
#-----[ FIND ]------------------------------------------
#
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

#
#-----[ AFTER, ADD]------------------------------------------
#
//
// Start des IP logger
// Bei define wird die Aktion festgelegt
//
define('LOG_ACTION', '*********');

include('iplogger.php');
Um das zu bewerkstelligen, muß ich da auch was am Mod selber ändern?

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Warning: fgets(): supplied argument is not a valid File-Handle resource in /home/www/web4/html/hod/includes/logger_engine.php on line 22

Warning: rewind(): supplied argument is not a valid File-Handle resource in /home/www/web4/html/hod/includes/logger_engine.php on line 25

Warning: fwrite(): supplied argument is not a valid File-Handle resource in /home/www/web4/html/hod/includes/logger_engine.php on line 26

Warning: fclose(): supplied argument is not a valid File-Handle resource in /home/www/web4/html/hod/includes/logger_engine.php on line 27

Warning: fwrite(): supplied argument is not a valid File-Handle resource in /home/www/web4/html/hod/includes/logger_engine.php on line 58

Warning: fclose(): supplied argument is not a valid File-Handle resource in /home/www/web4/html/hod/includes/logger_engine.php on line 59
Das kommt bei mir :roll:
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo Dwing,

ich hab den Mod mal auf der Test-HP eingebaut . Nun bekomme ich im ACP wenn ich auf "IP Logger, IP Logger MKP, IP Logger OPT" gehe, eine weiße Seite Rechts zu sehen. Der Fehler tritt nur mit dem Netscape (alle Versionen) auf und nur wenn gzip aktiv ist. Unter dem IE (alle Versionen) tritt der Fehler nicht auf.

Ein weiteres Problem sind die Befehle "bcdiv(), bcmul(), bcadd()" die bei einigen Providern nicht zur Verfügung stehen. Dafür hab ich mal einen kleinen Mod gemacht.

Diesen Mod als function_dl_bcmath.php speichern und in das Verzeichnis ../includes/ kopieren.
<?php

/*#########################################
#
# bcmath mathematische Nachbildung von bcdiv, bcmul und bcadd wenn
# diese nicht vom Provider bereit gestellt werden.
#
# Hier können später auch die restlichen Funktionen von bcmath
# nachgebildet werden.
#
# Filename: function_dl_bcmath.php
# Version: 1.0.2
# Contact: MARVIN42@web.de
# Autor: Helmut.S und Karl.T
#########################################*/



function bcmul($a, $b, $scale)
{
$r = $a * $b;
for ( $i=0; $i < $scale; $i++);
$r = 10 * $r;
$r = ((int) $r);
for ( $i=0; $i < $scale; $i++);
$r = 0.1 * $r;
return $r;
}

function bcdiv($a, $b, $scale)
{
$r = $a / $b;
for ( $i=0; $i < $scale; $i++);
$r = 10 * $r;
$r = ((int) $r);
for ( $i=0; $i < $scale; $i++);
$r = 0.1 * $r;
return $r;
}

function bcadd($a, $b, $scale)
{
$r = $a + $b;
for ( $i=0; $i < $scale; $i++);
$r = 10 * $r;
$r = ((int) $r);
for ( $i=0; $i < $scale; $i++);
$r = 0.1 * $r;
return $r;
}

?>
Nun sind noch ein paar Änderungen an der Datei "admin_logger.php" zu machen.

Finde:
require('pagestart.' . $phpEx);
danach Einfügen:
require($phpbb_root_path . 'includes/functions_dl_bcmath.'.$phpEx);
Finde:
echo '<p>Es werden die Einträge von ' . $start . ' bis ' . bcadd($start, $anzahl) . ' angezeigt</p>';
Ersetzen durch:
echo '<p>Es werden die Einträge von ' . $start . ' bis ' . bcadd($start, $anzahl,1) . ' angezeigt</p>';
Du kannst den Mod gerne bei dir mit aufnehmen oder entsprechend abändern und fest einbauen.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo Dwing,

also der Logger arbeitet soweit gut, nur jetzt bekomme ich eine Fehlermeldung vom IE, daß die gewünschte Seite nicht angezeigt werden kann. In der "log.dat" befinden sich 1290 Datensätze (innerhalb von etwa 15 Stunden). Kann es sein, daß es Probleme mit der 1024 Grenze gibt? Ich hab das noch nicht getestet, könnte ich mir aber gut Vorstellen. Vielleicht könntest das dann auch so machen, daß für jeden Tag eine eigene "log.dat" Datei angelegt wird. Das Feld " $USER " ist immer leer ist mir aufgefallen. Hat das eine bestimmte Bedeutung?

Ausschnitt aus der log.dat
?><?php
$REMOTE_ADDR["1191"] = "212.186.120.92";
$HTTP_USER_AGENT["1191"] = "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.3b) Gecko/20030316";
$REMOTE_PORT["1191"] = "1035";
$HTTP_VIA["1191"] = "";
$TIME["1191"] = "1056886577";
$CHECK["1191"] = "ok";
$ACTION["1191"] = "Topic #145 angesehen";
$USER["1191"] = "";
?><?php
Es wäre auch schön, wenn einige Informationen zusätzlich noch geloggt würden, wie zum Beispiel "verwendete Bildschirmauflösung, Herkunftsland", außerdem wäre es auch Sinnvoll, wenn der Benutzername angezeigt würde und auch ein Link zu den geloggten Foren/Topics. Du könntest es dann so machen, daß dann ein Link mit dem Namen des Benutzers verbunden ist und beim anklicken die ganzen Verbindungsdeteils angezeigt werden. Weiterhin könntest dann auch hergehen und zum Beispiel alle Loggs eine bestimmten Users anzeigen lassen. In Sachen Auswertung sind da keine Grenzen gesetzt.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Dwing
Ehrenadmin
Beiträge: 1965
Registriert: 17.06.2001 02:00

Beitrag von Dwing »

wow.

Erstmal danke für das Feedback

@Helmut:
Werde dein Script einbinden, danke :)
Setze ne Hinweis auf dich.

Ich wollte das ganze nicht zu kompliziert machen...
Daten wie Bildschirmauflösung lassen sich meines Wissens nicht mit PHP sondern nur mit javascript auslesen.

Werde evtl. noch den Host dazu fügen.
Um das zu bewerkstelligen, muß ich da auch was am Mod selber ändern?
Nein :)
Einfach das ändern was du als ***** geschrieben hast :)
@AWSW:
Ip Logger zeigt die geloggten IPs
OPT optimiert die IPs, nach 2 Mustern
MKB macht ein backup


@Dave: scheinbar fehlt dir die Datei logger_engine.php im includes Ordner.
Hast du sie nicht hochgeladen, oder hat der FTP probleme und du hast das falsche Archiv ?
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“