1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

IP-Logs über Webseiten-Traffic

Discussion in 'Web-Know-how für die Homepage' started by chris3000, Sep 30, 2012.

Thread Status:
Not open for further replies.
  1. chris3000

    chris3000 Guest

    Hi,
    ich wollte mir einfach aus Neugier, wer meine Homepage so anklickt ein IP-Logfile anlegen. Mit folgendem Code funktioniert das super:
    Code:
    <?php
    header("Location:index.html");
    $file="iplog.txt";
    $f=fopen($file,'a');
    fwrite($f,"IP Address:".$_SERVER['REMOTE_ADDR']."\n");
    fwrite($f,"User Agemt:".$_SERVER['HTTP_USER_AGENT']."\n");
    fwrite($f,"Host Name:".php_uname('n')."\n");
    fwrite($f,"Operating System:".php_uname('v')."(".php_uname('s').")"."\n");
    fwrite($f,"-------------------------"."\n");
    fclose($f);
    ?>
    Problem ist nur, dass die Datei index.php heißt und anschließend erst auf meine Homepage weiterleitet (index.html).
    Wie bekomme ich das Script jetzt dazu, auf index.html zu arbeiten?
    Oder kann ich evtl. einrichten, dass man, wenn man xyz.de aufruft, direkt auf index.php geleitet wird?

    Grüße
    Chris
     
    Last edited by a moderator: Oct 1, 2012
  2. kalweit

    kalweit Hüter der Glaskugel

    Welche Webserver Software wird verwendet?
     
  3. chris3000

    chris3000 Guest

    Apache, soweit ich weiß.
     
  4. kalweit

    kalweit Hüter der Glaskugel

    Dann werden die Dateitypen, welche der PHP Interpreter bearbeiten soll, in der Datei httpd.conf festgelegt und die Startdateien und deren Reihenfolge in einer .htaccess Datei oberhalb des Mountpunktes der Domain im Dateisystem (wahlweise ebenfalls in der httpd.conf)..
     
  5. chris3000

    chris3000 Guest

    Ich sehe nicht, wie mir das hilft.
    Wie man evtl. am Startpost erkennen kann, kenne ich mich mit php nicht aus.
    Steht in einer der Dateien drin, welche Datei zuerst geöffnet wird oder wie? :O
     
  6. kazhar

    kazhar Viertel Gigabyte

    irgendwoher muss der apache ja wissen, welche datei er liefern soll, wenn nach http://meine.seite.de/ (<- da ist keine datei spezifiziert!) gefragt wird.

    je nach provider kann man das
    *) garnicht
    *) über das configcenter
    *) über die angesprochenen dateien ändern

    nachdem du die log datei aber halt nur irgendwie einbinden musst (muss ja nicht unbedingt die weiterleitung sein) könntest du sie auch z.b. per iframe in die hauptseite einfügen. dazu solltest du aber dann die weiterleitung entfernen :D
     
  7. chris3000

    chris3000 Guest

    Joa, das einfügen habe ich schon versucht, aber da ich nunmal kein Ahnung habe, hab ich das ganze einfach reingeschoben.
    Wie vermutet ist aber nichts passiert^^
    Also, kann mir jemand erklären, wie ich das in die Startseite stecke?
     
  8. kazhar

    kazhar Viertel Gigabyte

    na, du baust irgendwo folgendes in den quellcode der startseite (am besten unten wos nicht stört)

    <iframe src="iplog.php" width="5" height="5" name="iCANseeURip">
    <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen</p>
    </iframe>

    in die datei iplog.php (selber ordner wie die datein, in der das iframe steckt) schreibst du
    <?php
    $file="iplog.txt";
    $f=fopen($file,'a');
    fwrite($f,"IP Address:".$_SERVER['REMOTE_ADDR']."\n");
    fwrite($f,"User Agemt:".$_SERVER['HTTP_USER_AGENT']."\n");
    fwrite($f,"Host Name:".php_uname('n')."\n");
    fwrite($f,"Operating System:".php_uname('v')."(".php_uname('s').")"."\n");
    fwrite($f,"-------------------------"."\n");
    fclose($f);
    ?>
    <html>
    <title>dies ist der Logger</title>
    <body>dies ist der Logger</body>
    </html>
     
  9. chris3000

    chris3000 Guest

    So,
    Ich habe jetzt unten in index.html dieses iframe reingepackt (Ich habe hier schon mit frames, stört da vielleicht was?).
    Und die Datei iplog.php mit o.g. Inhalt erstellt.
    Das Logfile wird aber nur erstellt, wenn ich tatsächlich xyz.de/iplog.php aufrufe.
    bei xyz.de und auch bei /index.html passiert nichts.
     
  10. kazhar

    kazhar Viertel Gigabyte

    aber hoffentlich schon vor dem </body>? :D
     
  11. chris3000

    chris3000 Guest

    War gar keiner vorhanden.
    Habe mal einen drumrum gelegt, keine Veränderung.
     
  12. VB-Coder

    VB-Coder Megabyte

    Normalerweiße sollte es reichen wenn du die index.html aus dem Hauptverzeichnis löschst, oder umbenennst. Dann sollte die Domain automatisch auf die entsprechende index.php Datei weitergeleitet werden.

    Sollte das nicht der Fall sein, so stellt sich die Frage welche Verwaltungssoftware dir dein Provider für die Verwaltung deines Webspaces zur Verfügung stellt. In den meisten Fällen ist das Plesk oder Confixx.

    In dieser Verwaltungsoberfläche findest du irgendwo den Menüpunkt "Domains" (bei Confixx : Einstellungen -> Domains). Dort kannst du die Weiterleitung für alle deine Adressen einstellen.

    Im Normalfall steht dort Domain: xyz.net -> Weiterleiten nach: /

    Hier änderst du die Weiterleitung von / in /index.php

    Spätestens jetzt solltest du beim Aufruf von xyz.net automatisch auf xyz.net/index.php weitergeleitet werden.

    Denk aber bitte daran, das die Einrichtung einer solchen Weiterleitung je nach Anbieter bis zu einer halben Stunde in Anspruch nehmen kann. Das heisst: Es kann ca. eine halbe Stunde dauern bis das ganze dann funktionirt.
     
  13. chris3000

    chris3000 Guest

    Danke =)
    Das einfache Umbenennen hat schon geholfen.
    Habe jetzt also die index.php die auf index2.html weiterleitet.
    Funzt super :)

    Nun mal was zum Code selbst, weiß nicht ob ihr da helfen könnt.
    Folgendes kommt raus:
    1. Was genau ist mein Host Name und warum heißt er mail?
    2. Welches Operating System wird dort ausgelesen?
    Das ist von eben, d.h. 22.9. 12:47 Uhr stimmt nicht ganz^^
    Und auch Linux lässt darauf schließen, dass das nichts von mir ausliest, da ich stinknormales Windoof nutze.
     
  14. kazhar

    kazhar Viertel Gigabyte

  15. chris3000

    chris3000 Guest

    Also zeigt das jetzt die Informationen vom Server meiner Seite?
    Das ist ja irgendwie nicht zielführend :D
    Ich dachte, ich könnte das auch als Timestamp verwenden, aber das fällt wohl auch ins Wasser :/
    Also:
    1. Soll ich die beiden letzten Zeilen einfach weglassen, oder gibt es da Ersatz, der mir tatsächlich Daten des Users anzeigt?
    2. Ich bräuchte dann nen Timestamp noch.
     
  16. kazhar

    kazhar Viertel Gigabyte

  17. chris3000

    chris3000 Guest

    Ich habe mich da jetzt ein Weilchen durch geklickt, bin aber zu keinem besonderen Ergebnis gekommen.
    Der einzige für mich brauchbare Befehl, den ich unter $_Server finden konnte, war REQUEST_TIME, der so nichts ausliefert:
    Code:
    fwrite($f,"REQUEST_TIME: ".$_SERVER['REQUEST_TIME']."\n");
    Ich vermute, dass da vorher noch ein get notwendig ist, aus dem dazugehörigen Bereich könnte ich aber nichts rauslesen :/
     
  18. kazhar

    kazhar Viertel Gigabyte

    keine ahnung was du herum bastelst :D

    [​IMG]
     
  19. chris3000

    chris3000 Guest

    So, habe mal den Timestamp eingebaut, bekomme aber nur 1970-01-01 01:00:00 zurück.

    Nach kurzer Verzweiflung habe ich einfach - wie du - index.html und iplog.php erstellt, den Inhalt aus deinem Beitrag kopiert und folgendes Ergebnis erhalten:
    [​IMG]
     

    Attached Files:

  20. kazhar

    kazhar Viertel Gigabyte

    dann wirf die request_time raus. dann kriegst halt die zeit, an der die zeile ins log geschrieben wird:
    fwrite($f,"Timestamp: ".date('Y-m-d H:i:s')."\n");

    zu der anderen sache...
    wie lädst du die dateien auf den server?
     
Thread Status:
Not open for further replies.

Share This Page