2016-04-01 8 views
0

Hallo Ich habe Code, der ips einloggen und speichert sie bei visitors.loglog ein ip nur auf einmal

i log bin ips here

$line = "$_SERVER[REMOTE_ADDR]"; 
file_put_contents('visitors.log', $line . PHP_EOL, FILE_APPEND); 

, aber ich möchte nur auf einmal 1 ip loggt sein. ...

dass Code protokolliert jeden Benutzer auf jedem Refresh ...

oder wie kann ich diesen Code für Benutzer jeder 48 Stunden gezeigt? ich brauche Lösung Dank .. danach i verwenden möchten, dass ips einige Inhalte für das blockieren ... so will ich auf einmal nur eine IP speichern ..

+0

Sie können IP bei Sitzung speichern. Dann überprüfe die Sitzung. Dies ist erweiterbar, wenn es für Sie arbeitet. Übrigens speichern Sie besser in der Datenbank, wenn Sie diese später verwenden möchten. –

+0

Sie wissen, dass die IP des gemeinsamen Benutzers hin und wieder ändert? Und ja, es ist viel besser, das in einer Datenbank zu speichern. Außerdem ist es viel einfacher zu überprüfen, ob die IP in den letzten 48 Stunden hinzugefügt wurde. – Jeff

Antwort

0

ich weiß nicht, ob es das, was willst du, also willst du nur 1 ip angemeldet haben?

erstellen Sie eine Tabelle in Ihrer Datenbank wie

Tabelle ip [id, ip-adresse] oder verwenden Sie eine Datei gleich ist.

und wenn ein Benutzer-Log-in Schach ist IP und registrieren zu db/Datei, wenn er es heraus entfernen geht, oder eine Spalte in der Tabelle user ip_adresse und atribute 1 ip pro Benutzer

dies ist die einfache genannt erstellen Art und Weise gibt es natürlich noch einige Probleme, aber

eines der Probleme, die Sache zu tun ist, ich denke, das hat: wenn der Benutzer nur den Browser schließen, er auf Logout-Button geklickt so dont Sie wissen nicht, ob er Logouts ..

0
<?php 
echo (strpos(file_get_contents('ips.txt'), $_SERVER['REMOTE_ADDR']) !== false)?'dablokilia':$line = "$_SERVER[REMOTE_ADDR]"; 
file_put_contents('ips.txt', $line . PHP_EOL, FILE_APPEND);; 

?> 

dieser Code arbeitet ...