2010-06-25 7 views
0

Je souhaite suivre les adresses IP des visiteurs de mon blog. Je ne sais pas quel blog je vais utiliser, je vais utiliser celui qui fonctionnera (j'entends que blogger ne fonctionne pas avec php).Suivi d'une adresse IP

De même, une fois que je créerai le blog et que je configurerai le tracker IP, où irai-je pour trouver les adresses IP de mes visiteurs? Merci d'avance!

+0

Cela dépend entièrement sur le blog que vous choisissez. –

+0

bien, quel blog dois-je choisir? Je ne sais pas lequel est le plus facile à faire avec? –

+0

Je ne suis pas sûr que "blogger ne fonctionne pas avec PHP" signifie, mais Blogger est un service hébergé; vous ne l'installez pas sur votre serveur web comme Wordpress, c'est un site web que Google héberge –

Répondre

1

Vous pouvez vérifier le journal d'accès de votre serveur http. Cela devrait vous donner une liste des demandes des clients.

Si vous cherchez une solution php, vous pouvez utiliser ce qui suit pour obtenir l'adresse IP du client:

$_SERVER['REMOTE_ADDR']; 

Vous aurez besoin d'écrire un script d'enregistrement rapide pour stocker ces

$logFile = 'iplog.log'; 
if(!file_exists($logFile)) touch($logFile); 
if(is_writable($logFile)) { 
    $fh = fopen($logFile, 'a'); 
    if($fh) { 
    $line = $_SERVER['REMOTE_ADDR']."\n"; 
    fwrite($fh, $line, strlen($line)); 
    fclose($fh); 
    } 
} 
+0

Merci, où est-ce que je mets ce script? –

0

Si plus tard, vous souhaitez utiliser ces adresses IP comme par exemple dans la zone d'administration de votre blog, alors à mon humble avis, il est préférable de les stocker dans la base de données. Plus tard, vous pouvez les mettre en cache, mais c'est facultatif.

Dans WordPress (qui est par ailleurs un système de blog très élastique) les tables de base de données ont le préfixe wp_ par défaut. Donc, vous pourriez faire quelque chose comme ça. Ensuite, vous pourriez faire une fonction qui sera appelée, quand un membre fait à peu près n'importe quoi. Dépend de ce dont vous avez besoin.

function trackIP($ip) { 
    // Check if IP exists 
    $query1 = "SELECT id FROM wp_ip_tracking WHERE ip = '{$ip}'"; 
    // Insert new record with given IP 
    $query2 = "INSERT INTO wp_ip_tracking(id, ip, last_activity) VALUES(NULL, '{$ip}', NOW())"; 
    // Update record for specified IP 
    $query3 = "UPDATE wp_ip_tracking SET last_activity = NOW() WHERE ip = '{$ip}'"; 

    if(mysql_num_rows(mysql_query($query1)) == 0) { 
     mysql_query($query2); 
    } else { 
     mysql_query($query3); 
    } 
} 

Je pense que ces deux devraient vous aider avec votre problème. Encore une fois, c'est seulement à mon humble avis.

+0

Le champ ip doit être int, pas varchar –

+0

Pourquoi int? Ce ne serait pas plus facile de le stocker comme un varchar. Plus tard, vous pouvez l'exploser en (.) Ou faire d'autres opérations avec. – Eugene