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 : 2068
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 ?
Tu as ete la pour moi depuis tout petit j'ai ete la jusqu'a ton dernier souffle

je t'aime mamie (love)
Avatar du membre
tttzzz
Fan de series des années 90
Fan de series des années 90
Messages : 15
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 : 2068
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 :(
Tu as ete la pour moi depuis tout petit j'ai ete la jusqu'a ton dernier souffle

je t'aime mamie (love)
Avatar du membre
remysimpson
Modérateur
Modérateur
Messages : 2068
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
Tu as ete la pour moi depuis tout petit j'ai ete la jusqu'a ton dernier souffle

je t'aime mamie (love)
Avatar du membre
racacax
Administrateur du site
Administrateur du site
Messages : 5077
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