Enregistrer l'ip des visiteurs de son site

Fermé
jeanclod13 - 7 oct. 2009 à 15:09
 max - 23 oct. 2013 à 19:03
Bonjour,


J’ai créé un site sur ma copropriété avec une zone réservée aux copropriétaires pour y accéder pour ceux qui le souhaitent chacun a un login et mot de passe personnel. Dans cette zone il y a un espace commentaire et il est arrivé d’y avoir des propos inconvenants. Je voulais donc un code pour enregistrer les ip des visiteurs. Comme cela lorsqu’on me demande un mot de passe par la page contact je note l’ip et en cas de message inconvenant je note l’ip du visiteur par un code je lui interdit l’accès à la page en supprimant son mot de passe.

Pour l’instant j’ai trouvé un code pour l’enregistrement par mail de l’ip des visiteurs que j’ai trouvé sur phpcs.com


J'ai mis le code source à la racine de mon site dans un fichier log_ip.php, et j'ai ajouté "l'include" dans la page que je veux surveiller et j’ai mis mon adresse email dans le $email= “….@...fr ” . J’ai également créé un fichier texte vide log_ip.txt

J'ai testé pour voir si mon IP allait m'être envoyée. Mais sans résultat. Pourrais je avoir une aide, sur la marche à suivre afin que cela fonctionne ?

Voici le code source récupéré sur le site



1. // Fichier log_ip.php
2.
3.
4. <?php
5.
6. /************************************/
7.
8. /* ESPION de visite
9.
10. /* Version : 1.3 | 06/01/2002
11.
12. /* http://www.blinckers-groups.com
13.
14. /************************************/
15.
16. /* Source :
17.
18. /* https://www.nerim.com/
19.
20. /* https://www.2037.biz/
21.
22. /************************************/
23.
24. // Nom du fichier des logs
25.
26. $fichier="log_ip.txt";
27.
28. $fp=fopen("$fichier","a");
29.
30.
31. // Donne la date et l'heure française
32.
33. $Jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
34.
35. $Mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
36.
37. $date = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
38.
39. $heure = gmdate("H \h i", mktime(date("H")+1,date("i")));
40.
41.
42. $fsz=filesize("$fichier");
43.
44.
45. // Récupère l'IP et le FAI du visiteur (même si proxy)
46.
47. $ip_visiteur = (getenv("HTTP_X_FORWARDED_FOR") ? getenv("HTTP_X_FORWARDED_FOR") : getenv("REMOTE_ADDR"));
48.
49. $fai_visiteur = gethostbyaddr("$REMOTE_ADDR");
50.
51.
52. fseek($fp,$fsz);
53.
54.
55. // Enregistre les données
56.
57. fputs($fp,"$ip_visiteur | FAI du visiteur : $fai_visiteur | le $date à $heure\n");
58.
59. fclose($fp);
60.
61.
62. // Infos perso
63.
64. $email="webmaster@mon_site.com";
65.
66. $titre="Vient de mon site | Nouveau visiteur | Info";
67.
68. $messag="Un visiteur vient de passer sur votre site.
69.
70. Voici les infos le concernant :
71.
72.
73.
74. - Adresse IP du visiyeur : $ip_visiteur
75.
76. - FAI du visiteur : $fai_visiteur
77.
78. - le $date à $heure
79.
80.
81.
82. Espion interne.";
83.
84.
85. // envoi un mail
86.
87. // pour désactiver, (spam si plus de 50 visites) ajouter
88.
89. // deux slash devant la fonction mail() --> "//"
90.
91. mail($email,$titre,$messag);
92.
93. ?>
94.
95.
96.
97. ////////////////////
98.
99.
100. pour utiliser le script, insérer simplement la ligne suivante dans la page que vous souhaitez surveiller.
101.
102.
103. <?
104.
105. include ("log_ip.php");
106.
107. ?>
A voir également:

4 réponses

il y a plus simple :

<?php

$ip = $_SERVER['REMOTE_ADRR'];
mysql_connect('hote_bdd', 'id_bdd', 'pass_bdd');
mysql_select_db('le nom de ta db');


$query = "INSERT INTO le nom de ta table (ip) VALUES('$ip')";
$req = mysql_query($query);

?>


et voila !!
Pamou
puis ensuite, tu peux lier le pseudo et l'ip ect...
viens sur http://site-waide.servhome.org/forum si tu veux de l'aide plus en détails et je te repondrai

Pamou
2
Sans base de donnée :)

<?php echo " " . $_SERVER["REMOTE_ADDR"] . " ";
$Fnm = "ip.txt";
$inF = fopen($Fnm,"w");
$ptr = ftell($inF);
$ptr = fseek($inF,$ptr-10);
$ip = $_SERVER["REMOTE_ADDR"];
fputs($inF,$ip);
fclose($inF);


?>

Copier / Coller et le tour est joué :)
0
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 52
8 oct. 2009 à 18:11
Dsl de te l'apprendre jeanclod mais la programation, c'est pas du puzzle, si tu veux utiliser un code il faut le comprendre. Pour faire ce que tu veux les adresse IP te servirons a rien de plus que compliquer les chose, bloquer un compte parceque tu juge ces propos inconvenant c'est pas cool, même effacer son intervention c'est limite. De plus si l'internaute en question dépasse les limites il sera remis a sa place par d'autres internautes:

C'EST CA LA LIBERTE D'EXPRESSION!
0
Bonsoir Zestyr;

pour répondre à ton commentaire, contrairement à ce que tu penses la programmation c'est comme un puzzle il faut comprendre et dans la vie tout doit se comprendre (apprendre et comprendre) si j'avais trente ans de moins je ne serais probablement pas venu sur ce forum pour poser une telle question car j'aurais fait ce qu'il fallait pour apprendre la programmation et bien plus encore. J'ai 65 ans aujouird'hui et lorsque j'ai terminé mes études d'ingénieur électricité-électronique en 1966 on en été encore au courant continu sur pratiquement tous les navires du monde, l'électronique se résumait aux tubes triode-pentode et autres et les semi-conducteurs faisaient leur apparition. Et depuis 43 ans le monde a beaucoup évolué et moi beaucoup moins, personne ne peut suivre en temps réel l'évolution, ç moins d'être un génie, je crois qu'il y a surtout de beaux parleurs.

Donc j'ai fait un site sur ma copropriété pour créer un lien un peu plus important entre copropriétaires et pour les informer aussi car en copropriété la moyenne des personnes présentes en AG est de l'ordre de 50% et moins. Le site de la copropriété n'est pas un lieu pour joutes verbales car c'est ce qui arriverait si des propos inconvenants (pour pas dire insultants) se promenaient sur le site et ce serait plutot une escalade verbale. J'aimerais connaitre l'avis d'un modérateur si sur le forum une telle chose se produisait, je préfère prévenir que guérir, Je ne crois pas que l'on ait les même valeurs.

Bref pour conclure, si je trouve un code je l'installe sinnon je supprime les commentaires et le tour est joué. Je ne vais pas me suicider pour autant, mais si j'en ait un qui fonctionne ce serait bien pour tout le monde.

Merci pour ton intervention même s'il elle n'a apporté aucune solution au problème
0
telliak Messages postés 3667 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 4 novembre 2024 876
22 août 2011 à 09:20
en 1966 on en été encore au courant continu sur pratiquement tous les navires du monde, l'électronique se résumait aux tubes triode-pentode et autres et les semi-conducteurs faisaient leur apparition
Je ne voudrais pas que cette information erronée se répande : en 1966, les ordinateurs (organisés autour de semi-conducteurs et non des tubes triode-pentode) existaient déjà dans les entreprises depuis plusieurs années.
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 975
8 oct. 2009 à 20:50
Moi je dirai surtout bien que le code que l' on a ta proposé est simple et bien, que bloquer un visiteur a son ip est moyen. En effet, il n' est pas dur de changer d' ip. Le mieux reste de bloquer le pseudo, si il se reinscrit? ben tu sauras vite a ses propos si c' est encore lui et tu le reban. Il se lassera plus vite que toi
0
Bonjour

J'ai besoin de votre aide svp

le code
<?
$inF = fopen("./ip.txt", "a" ); // ouvre le fichier ip.ini en mode append
fputs($inF, $REMOTE_ADDR."\n"); // récupère l'ip de l'utilisateur
$hostname = $_SERVER["REMOTE_ADDR"];
$date_str = 'D d M Y H:i:s';
fputs($inF, date($date_str), $hostname."\n");
fputs($inF,"\n");
fclose($inF);
?>

fonctionne quand je mets dans le htacess SetEnv PHP_VER 5_3

mais ne fonctionne pas avec la version 5.2 pourquoi ?

merci d'avance
0