SAUVEGARDE ADRESSE IP VISITEUR

Messages postés
373
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
17 juin 2013
- - Dernière réponse : janhsh
Messages postés
6
Date d'inscription
samedi 10 octobre 2009
Statut
Membre
Dernière intervention
21 février 2019
- 23 janv. 2015 à 01:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54882-sauvegarde-adresse-ip-visiteur

Afficher la suite 
cs_JLN
Messages postés
373
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
17 juin 2013
-
Je trouve qu'il y a beaucoup de variables dont on ne sait rien !
La page ip.html est où ?
Ceci doit surement être un extrait du script total, non ?
Pas très clair tout ca...
wanou95b
Messages postés
23
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
5 juin 2009
-
Je suis totalement d'accord avec JLN. D'où elles sortent toutes tes variables ? (fournisseur, ipclient...). Je suppose qu'elles sont initialisées à partir d'un http_host mais il faudrait être précis. A quel moment enregistres tu dans le fichier "ip.html" ?
Et puis une fonction me parait plus propre surtout, d'autant plus que tu utilises déjà des "return".
exemple function log_visiteur($traceur).
Bref, je trouve ta source peu claire, et quand on partage une source, autant le faire le plus précisément possible.
Ceci dit l'entité des bots est très intéressante, et l'idée de fond est bonne.
la page ip.html ces une simple page vierge sur laquelle sont stocké les données, ici je n'avais dnnées que la partie stockage ip car aujourd'hui obtenir une ip est devenu très simple tout comme les cookies néamoins voici les infos demandés

<?php
function get_ip()
{
global $REMOTE_ADDR;
global $HTTP_X_FORWARDED_FOR, $HTTP_X_FORWARDED, $HTTP_FORWARDED_FOR, $HTTP_FORWARDED;
global $HTTP_VIA, $HTTP_X_COMING_FROM, $HTTP_COMING_FROM;
if (empty($REMOTE_ADDR) && PMA_getenv('REMOTE_ADDR')) {
$REMOTE_ADDR = PMA_getenv('REMOTE_ADDR');
}
if (empty($HTTP_X_FORWARDED_FOR) && PMA_getenv('HTTP_X_FORWARDED_FOR')) {
$HTTP_X_FORWARDED_FOR = PMA_getenv('HTTP_X_FORWARDED_FOR');
}
if (empty($HTTP_X_FORWARDED) && PMA_getenv('HTTP_X_FORWARDED')) {
$HTTP_X_FORWARDED = PMA_getenv('HTTP_X_FORWARDED');
}
if (empty($HTTP_FORWARDED_FOR) && PMA_getenv('HTTP_FORWARDED_FOR')) {
$HTTP_FORWARDED_FOR = PMA_getenv('HTTP_FORWARDED_FOR');
}
if (empty($HTTP_FORWARDED) && PMA_getenv('HTTP_FORWARDED')) {
$HTTP_FORWARDED = PMA_getenv('HTTP_FORWARDED');
}
if (empty($HTTP_VIA) && PMA_getenv('HTTP_VIA')) {
$HTTP_VIA = PMA_getenv('HTTP_VIA');
}
if (empty($HTTP_X_COMING_FROM) && PMA_getenv('HTTP_X_COMING_FROM')) {
$HTTP_X_COMING_FROM = PMA_getenv('HTTP_X_COMING_FROM');
}
if (empty($HTTP_COMING_FROM) && PMA_getenv('HTTP_COMING_FROM')) {
$HTTP_COMING_FROM = PMA_getenv('HTTP_COMING_FROM');
}
if (!empty($REMOTE_ADDR)) {
$direct_ip = $REMOTE_ADDR;
}
$proxy_ip = '';
if (!empty($HTTP_X_FORWARDED_FOR)) {
$proxy_ip = $HTTP_X_FORWARDED_FOR;
} elseif (!empty($HTTP_X_FORWARDED)) {
$proxy_ip = $HTTP_X_FORWARDED;
} elseif (!empty($HTTP_FORWARDED_FOR)) {
$proxy_ip = $HTTP_FORWARDED_FOR;
} elseif (!empty($HTTP_FORWARDED)) {
$proxy_ip = $HTTP_FORWARDED;
} elseif (!empty($HTTP_VIA)) {
$proxy_ip = $HTTP_VIA;
} elseif (!empty($HTTP_X_COMING_FROM)) {
$proxy_ip = $HTTP_X_COMING_FROM;
} elseif (!empty($HTTP_COMING_FROM)) {
$proxy_ip = $HTTP_COMING_FROM;
}
if (empty($proxy_ip)) {
return $direct_ip;
} else {
$is_ip = preg_match('|^([0-9]{1,3}\.){3,3}[0-9]{1,3}|', $proxy_ip, $regs);
if ($is_ip && (count($regs) > 0)) {
return $regs[0];
} else {
return FALSE;
}
}
}
function PMA_getenv($var_name) {
if (isset($_SERVER[$var_name])) {
return $_SERVER[$var_name];
} elseif (isset($_ENV[$var_name])) {
return $_ENV[$var_name];
} elseif (getenv($var_name)) {
return getenv($var_name);
} elseif (function_exists('apache_getenv')
&& apache_getenv($var_name, true)) {
return apache_getenv($var_name, true);
}

return '';
}
$ip = get_ip();
$fournisseur = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$calendrier = date ("d-m-y");
$jours = date (z);
$horaire = date ("H:i:s");
$langage = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$port_client = $_SERVER['REMOTE_PORT'];
$port_serveur = $_SERVER['SERVER_PORT'];
$ip_client = get_ip();
$ip_serveur = $_SERVER['SERVER_ADDR'];
$connection = $_SERVER['HTTP_CONNECTION'];
$name_serveur = $_SERVER['SERVER_NAME'];
$protocol = $_SERVER['SERVER_PROTOCOL'];
$admin = $_SERVER['SERVER_ADMIN'];
$agent = $_SERVER['HTTP_USER_AGENT'];
?>
cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11 -
Ajoute le code que tu viens de poster en commentaire dans la source (y'a un bouton "Modifier" quelque part). De plus, essaie d'utiliser un tableau, parce que la série de else if n'est pas forcément très claire. Avec une bête boucle, on voit tout de suite que le traitement est le même pour chaque UA...
jadu
Messages postés
225
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
16 août 2018
-
dès le début il y a :



mais pas fichier 'css' associé ???

On peut 'balancer' cette source telle quel sur un site ???
merci de m'éclairer !
Dans le doute, je ne note pas !