stocker 1fois l'ip du visiteurs

Dans cette section, vous allez apprendre à créer un site web sans passer par les plates-formes automatiques tel que Xooit ert Forumactif.
Répondre
Avatar du membre
remysimpson
Modérateur
Modérateur
Messages : 1737
Enregistré le : ven. 26 août 2016 15:42

stocker 1fois l'ip du visiteurs

Message par remysimpson » jeu. 8 nov. 2018 16:53

Bonjour je suis actuellement en plein refonte de mon site ( les membres inscrit vous pouvez deja le voir ) mais je fait encore mieux je vais autorisé le site uniquement aux ip des gens inscrit ( que j'ai pas dans la bdd ) du coup je stock le tout dans un txt malheuresement a chaque fois que la personne va cliquezr sur l'index de mon site l'ipp sera enregistrer du coup si la personne clique 15x ba j'ai 15x son ip ( deja le rendu du txt et pas joli joli si en plus je doit trier les ip parmis les doublons ça le fait moyen (aha) )
voici le code
<?php
if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip_address = $_SERVER['REMOTE_ADDR'];
}
$inF = fopen("ip.txt", "a" ); // ouvre le fichier ip.ini en mode append
//fputs($inF, $ip_address."\n"); // récupère l'ip de l'utilisateur
fputs($inF, date('D d M Y H:i:s',time()).', '. $ip_address."\n\r");
fputs($inF,"\n");
fclose($inF);
?>
simple mais qui marche (aha)
vous avez une soluce pour afficher que 1x l'ip meme si la personne ce connecte 15x ?
viewtopic.php?f=24&p=25137#p25137 Quartz EPG mon nouveau site basé sur l:e xml tv de racacax
Avatar du membre
tttzzz
Fan de Claire Chazal
Fan de Claire Chazal
Messages : 12
Enregistré le : mer. 12 juil. 2017 12:10

Re: stocker 1fois l'ip du visiteurs

Message par tttzzz » jeu. 8 nov. 2018 17:05

Bonjour,

Je ne te conseille pas d'utiliser HTTP_X_FORWARDED_FOR dont les valeurs peuvent etre manipuler facilement. La valeur qui ne peux pas etre manipuler par le client est REMOTE_ADDR.

Je n'ai pas tester mais voici une solution possible :

Code : Tout sélectionner

if (file_exists("ip.txt") {
  $_content_file=get_file_contents("ip.txt");
}
$ip_address = $_SERVER['REMOTE_ADDR'];
if (preg_match("/$ip_address/", $_content_file)) {
  $_msg = sprintf("%s %s\n\r", date('D d M Y H:i:s',time()), $ip_address);
  file_put_contents("ip.txt", $_msg, FILE_APPEND | LOCK_EX);
}
Avatar du membre
remysimpson
Modérateur
Modérateur
Messages : 1737
Enregistré le : ven. 26 août 2016 15:42

Re: stocker 1fois l'ip du visiteurs

Message par remysimpson » jeu. 8 nov. 2018 17:19

je viens de tester

remote addr ne marche pas je sais pas pourquoi


et quand je remplace remote addr par HTTP_X_FORWARDED_FOR ça me sors uniquement l'heure :(
viewtopic.php?f=24&p=25137#p25137 Quartz EPG mon nouveau site basé sur l:e xml tv de racacax
Avatar du membre
remysimpson
Modérateur
Modérateur
Messages : 1737
Enregistré le : ven. 26 août 2016 15:42

Re: stocker 1fois l'ip du visiteurs

Message par remysimpson » jeu. 8 nov. 2018 17:22

c'est bon ça marche
manquais un ) a la premiere ligne et !preg_match
viewtopic.php?f=24&p=25137#p25137 Quartz EPG mon nouveau site basé sur l:e xml tv de racacax
Avatar du membre
racacax
Administrateur du site
Administrateur du site
Messages : 4778
Enregistré le : mar. 25 mars 2014 18:17

Re: stocker 1fois l'ip du visiteurs

Message par racacax » jeu. 8 nov. 2018 18:44

Salut,
Il faut absolument utiliser REMOTE_ADDR (qui est obligatoirement intégré à PHP donc c'est sûr que ça fonctionne) car n'importe qui peut trafiquer la valeur avec une en-tête.
Répondre