ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » IP Logger / Speicherzeit ?

Geschlossen
  1. #1
    User Pic
    Bolli Mitglied
    Registriert seit
    25.04.2006
    Beiträge
    87
    Beitragswertungen
    1 Beitragspunkte
    Hallo Alle / Hassmann!

    Erstmal ein großartiger Mod der Logger.

    Allerdings gibt es ein Problem, denn die Loggdatei wächst ziemlich schnell und wird ziemlich groß.

    Das Leeren gestaltet sich dann schwierig.

    Meine Frage: Ist im Script eine Funktion enthalten, die nach ner Zeit ältere Logs automatisch löscht oder gibt es eine einfache Möglichkeit/Alternative das einzustellen?

    Mfg


    verwendete ilchClan Version: 1.1
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    -GoA][-Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    müsste mann nachträglich einbauen aber die meisten wollen die einträge haben
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    jau, die sache mit dem automatisch leeren nach zb 3 tagen würde mich auch interessieren. jemand ne idee?
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    kommt drauf an wie die Datenbank des moduls aussieht (ob timestamp oder date gespeichert wird)

    müsste man mal sehen, wills aber net extra installieren

    kannst ja ma zeigen
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    nehme mal an du meinst das:

    ADMIN - Trejay = 88.74.10.xxx am 2009.10.05 um 11:28:11 auf /admin.php?iplogger
    USER - Trejay = 88.74.10.xxx am 2009.10.05 um 11:28:17 auf /index.php
    ADMIN - Trejay = 88.74.10.xxx am 2009.10.05 um 11:28:22 auf /admin.php?admin
    ADMIN - Trejay = 88.74.10.xxx am 2009.10.05 um 11:28:28 auf /admin.php?menu
    ADMIN - Trejay = 88.74.10.xxx am 2009.10.05 um 11:28:29 auf /admin.php?menu-2
    ADMIN - Trejay = 88.74.10.xxx am 2009.10.05 um 11:28:49 auf /admin.php?menu--an
    USER - Cro = 84.190.20.xxx am 2009.10.05 um 11:29:10 auf /index.php?home
    ADMIN - Trejay = 88.74.10.xxx am 2009.10.05 um 11:29:37 auf /admin.php?menu--an


    bzw die iplog.php
    <?php
    	$ip = $_SERVER['REMOTE_ADDR'];   
    	$datum = date("Y.m.d");
    	$zeit = date("h:i:s");
    	$user = $_SESSION['authname'];
    	$wo = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
    	$dada = $_SERVER["REQUEST_URI"];
    
    $text  = "<b>USER</b> - $user = $ip am $datum um $zeit auf $dada";
    
    db_query  ("INSERT INTO `prefix_iplogger2` (
    `ip`
    )
    VALUES (
    '$text'
    )");
    ?>
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    wird per timestamp gespeichert

    und ist relativ einfach zu lösen ^^


    auch ohne cronjob
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    aaaaaa.... ha

    aber wirklich weiter bringt es mich im mom auch net :-(
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    in dem code seh ich aber keinen timestamp...

    nur das date() das die zeit in einem text ausgibt welcher dann glespeichert wird.
    ist also nicht ganz so einfach zwinker
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    hmm.... vlt kannst dir das Mod. mal laden und die dateien mal ansehen? wäre quatsch wenn ich jden inhalt hier poste.
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    seh ich doch in der iplog.php
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    dann liest man das halt aus


    is auch net soo schlimm zwinker
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    dann mach halt zwinker
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    sitze noch an emiem scheiß turneir script ^^

    ich such das gleich mal rqaus da
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    also erstmal no way die ip's nach bestimmter zeit automatisch löschen zu lassen?
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    doch du musst nur $zeit bzw $date aus $text herauslesen und abfragen wie alt dies zu time() bzw date() ist

    dann gehts mit ner einfachen sql abfrage zunge
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    höhö, das erklärst grad den richtigen..lol :-)
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    leg am besten in phpmyadmin eine neue spalte an mit dem namen "tstamp"

    verwende den code in der php-datei:

    <?php
        $ip = $_SERVER['REMOTE_ADDR'];  
        $datum = date("Y.m.d");
        $zeit = date("h:i:s");
        $tstamp = time();
        $user = $_SESSION['authname'];
        $wo = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
        $dada = $_SERVER["REQUEST_URI"];
     
    $text  = "<b>USER</b> - $user = $ip am $datum um $zeit auf $dada";
     
    db_query  ("INSERT INTO `prefix_iplogger2` (
    `ip`, `tstamp`
    )
    VALUES (
    '$text', '$tstamp'
    )");
    ?>


    jetzt kann man mit einer einfachen if-abfrage in der index.admin oder admin.php alle Einträge löschen die älter als time() - x sind


    Zuletzt modifiziert von GeCk0 am 07.10.2009 - 21:08:09
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    ähm, i glaube phpmyadmin kann ich net nutzen, hab ich auch kein plan von, weil wir den webspyce von nem bekannten gesponsort bekommen haben.... null plan wie ich da was abrufe.
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    soooo... gehe ich recht in der annahme dass du sows wie in meiner index.php meinst?
    <?php
     
    // Copyright by: Manuel
    // Support: www.ilch.de
     
    // IP AutoBan v1.2 by DjGeCk0
    // www.swat-report.net
     
    define ('main' , true);
    // Konfiguration zur Anzeige von Fehlern
    // Auf http://www.php.net/manual/de/function.error-reporting.php sind die verfügbaren Modi aufgelistet
    @error_reporting(E_ALL ^ E_NOTICE);
    @ini_set('display_errors', 'On');
     
    session_name ('sid');
    session_start ();
     
    require_once ('include/includes/config.php');
    require_once ('include/includes/loader.php');
     
    db_connect();
     include("iplog.php");
    // #########################################################################
    // ## EINSTELLUNGEN ###
    // ####################
    $btime = '60'; # für wie viele Sekunden soll das Script die Verbindungen prüfen ?
    $ccount = '50'; # ab wie viele Verbindungen in BTIME soll das Script die IP bannen ?
     
    // alle fehler anzeigen lassen
    // error_reporting(E_ALL);ini_set('display_errors', 1);
     
    // IP Abfragen und Befehle festlegen
    $rip = getip();
    $tstamp = time();
    $cstamp = $tstamp - $btime;
    if (db_count_query("SELECT COUNT(ips) FROM prefix_ipbans WHERE ips = '$rip'") > 0) {
        die('IP BANNED - zu viele Verbindung in zu kurzer Zeit--- Schutz vor Bots');
    }
    if (db_count_query("SELECT COUNT(ip) FROM prefix_ip_connect WHERE ip = '$rip' AND tstamp > '$cstamp'") > $ccount) {
        db_query("INSERT INTO prefix_ipbans (ips) VALUES ('$rip')");
    } else {
        db_query("INSERT INTO prefix_ip_connect (ip, tstamp) VALUES ('$rip','$tstamp')");
        db_query("DELETE FROM prefix_ip_connect WHERE tstamp < '$cstamp'");
    }
    // #########################################################################
     
    $allgAr = getAllgAr ();
    $menu = new menu();
    user_identification();
    site_statistic();
     
     
    if (is_admin()) {
      require_once ('include/contents/'.$menu->get_url());
    }
     
    if ( $allgAr['wartung'] == 1) {
      require_once ('include/contents/wartung.php');
    } else {
      require_once ('include/contents/'.$menu->get_url());
    }
     
     
    if ($allgAr['birthdaymail_status'] == 1 ) { birthdaymail(); }
     
    db_close();
    debug('anzahl sql querys: ' . $count_query_xyzXYZ);
    debug('', 1, false);
     
    ?>


    dort ist ja schon eine zeit/datumabfrage vorhanden, oder blicke ich das falsch?
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    jo genau nach dem prinzip lächeln
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    ne das sollte beim iploger rein
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    Zeile 33-35 und 43 aus der Index.php

    das Prinzip meinte er zwinker

    dazu muss aber eine feste Zeitangabe vorhanden sein
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    äääh. ja... *grübel*
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    hm, also ohne grundlegende Veränderung ist es nicht möglich

    ABER man könnte es evtl so realisieren

    <?php
        $ip = $_SERVER['REMOTE_ADDR'];  
        $datum = date("Y.m.d");
        $zeit = date("h:i:s");
        $user = $_SESSION['authname'];
        $wo = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
        $dada = $_SERVER["REQUEST_URI"];
     
    $text  = "<b>USER</b> - $user = $ip am $datum um $zeit auf $dada";
     
    db_query  ("INSERT INTO `prefix_iplogger2` (
    `ip`
    )VALUES (
    '$text'
    )");
    
    $xlogs = 50; # anzahl der logs die gespeichert bleiben sollen
    $count = db_result(db_query("SELECT MAX(id) FROM `prefix_iplogger2`")) #Größte ID auslesen
    $ylogs = $count - $xlogs; #gezählte id`s - logs die bleiben sollen
    db_query("DELETE FROM `prefix_iplogger2` WHERE id < '".$ylogs."'");
    
    
    ?>


    ist nicht getestet, recht ungenau und ohne Gewähr
    evtl hat jemand noch ne bessere Lösung

    oder man legt wie gesagt eine neue spalte an, speichert den timestamp und löscht dann nach Zeit


    Zuletzt modifiziert von GeCk0 am 11.10.2009 - 19:18:41
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    du meinst also den code in die iplogger.php reinzaubern?
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    jo

    wie kommentiert wird hier die anzahl der logs, die gespeichert bleiben sollen angegeben (zeile 17)

    dann wird die größte ID aus der Datenbank ausgelesen (zeile 18)

    dann ziehe ich von der größten ID, die Zahl in Zeile 17 ab (ungenau aber in etwa das was du willst)

    dann wird das gelöscht was kleiner als die größte id MINUS anzahl der logs die bleiben sollen ist

    MACH ABER VORHER BACKUP zwinker


    Zuletzt modifiziert von GeCk0 am 11.10.2009 - 19:26:14
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    hab das ganze mal 1 zu 1 in die iplog.php im root reingetan, weil mir das am sinnvollsten erschien, da dort schon solche $ einträge vorhanden waren... jetzt kommt folgender fehler..

    Parse error: syntax error, unexpected T_VARIABLE in /var/www/vhosts/socclan.de/httpdocs/iplog.php on line 19
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    jo. flüchtigkeitsfehler von mir

    <?php
        $ip = $_SERVER['REMOTE_ADDR'];  
        $datum = date("Y.m.d");
        $zeit = date("h:i:s");
        $user = $_SESSION['authname'];
        $wo = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
        $dada = $_SERVER["REQUEST_URI"];
     
    $text  = "<b>USER</b> - $user = $ip am $datum um $zeit auf $dada";
     
    db_query  ("INSERT INTO `prefix_iplogger2` (
    `ip`
    )VALUES (
    '$text'
    )");
     
    $xlogs = 50; # anzahl der logs die gespeichert bleiben sollen
    $count = db_result(db_query("SELECT MAX(id) FROM `prefix_iplogger2`")); #Größte ID auslesen
    $ylogs = $count - $xlogs; #gezählte id`s - logs die bleiben sollen
    db_query("DELETE FROM `prefix_iplogger2` WHERE id < '".$ylogs."'");
     
     
    ?>
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    hmm, nu meckert er über was anderes^^....

    MySQL Error:
    1054 : Unknown column 'id' in 'field list'
    in Query:
    SELECT MAX(id) FROM `ic1_iplogger2`
    
    Debug backtrace:
    	@ mysql.php:32 -- debug_bt()
    	@ mysql.php:50 -- db_check_error(...)
    	@ iplog.php:18 -- db_query(...)
    	@ index.php:22 -- include(...)
    
    
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/socclan.de/httpdocs/include/includes/func/db/mysql.php on line 54
    MySQL Error:
    1054 : Unknown column 'id' in 'where clause'
    in Query:
    DELETE FROM `ic1_iplogger2` WHERE id < '-50'
    
    Debug backtrace:
    	@ mysql.php:32 -- debug_bt()
    	@ mysql.php:50 -- db_check_error(...)
    	@ iplog.php:20 -- db_query(...)
    	@ index.php:22 -- include(...)
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    hm der speichert wohl gar keine id über AI...

    wer macht denn sowas ?
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten