Alles Funktioniert Prima nur mein Problem ist das auch Die Seiten von meiner Domain angezeigt werden.
Was und wie kann ich es machen das nur Externe Links die nicht auf meiner Domain liegen geloggt werden bzw. Suchmaschinen wie Google.de gefiltert werden ?
Indem Du prüfst, ob $_SERVER["HTTP_REFERER"] Deine Domain oder die von Google enthält und entsprechend handelst. Dafür gibt es diverse Möglichkeiten, seien es die klassischen Zeichenkettenfunktionen oder das Prüfen an Hand von Mustern (Regular Expressions). In den beiden Kapiteln der PHP-Anleitung (http://php.net) wirst Du garantiert fündig.
Und noch eine Frage was muss ich tun damit zB jeweils nur die 10 neusten Referrer gespeichert werden ?
Den jeweils 11. rausschmeißen. Dazu kann man zum Beispiel die Datei in ein Feld laden (dafür gibt es in PHP netterweise eine eigene Funktion), den aktuellen vorne vorkleben (auch dafür gibt es eine eigene Funktion) und dann die ersten 10 Einträge dieses Feldes wieder in der Datei speichern (ein Eintrag pro Zeile; das wirst Du wohl oder übel in einer zweizeiligen for-Schleife machen müssen). Macht insgesamt sechs Zeilen (mit obiger Domainprüfung wahrscheinlich sieben oder acht, zuzüglich der Domaindaten).
Nicht mit drin ist allerdings eine Sicherung gegen doppelte Zugriffe auf die Referrer-Datendatei; es kann durchaus sein, daß eine Suchmaschine Deinen Server mit 10 bis 20 Anfragen pro Sekunde beackert - wenn alle Anfragen dann gleichzeitig versuchen, in die Datei zu schreiben.. Vielleicht solltest Du Dich mal mit den Protokollen des Webservers befassen, namentlich die Datei access_log. Da stehen die Referrer normalweise auch drin.
Und hier mal der Quelltext:
<?php
$name = 'daten.txt'; // file for datastoring
Mmmh, "English for runaways"? ;)
Gruß,
soenk.e