Problème d'enregistrement des adresses IP dans fichier txt
Fermé
zarex5
-
22 avril 2013 à 14:33
victoires Messages postés 118 Date d'inscription jeudi 12 mai 2011 Statut Membre Dernière intervention 3 juin 2016 - 22 avril 2013 à 17:12
victoires Messages postés 118 Date d'inscription jeudi 12 mai 2011 Statut Membre Dernière intervention 3 juin 2016 - 22 avril 2013 à 17:12
A voir également:
- Problème d'enregistrement des adresses IP dans fichier txt
- Ethernet n'a pas de configuration ip valide - Guide
- Fichier rar - Guide
- Comment connaître son adresse ip - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
2 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 avril 2013 à 14:38
22 avril 2013 à 14:38
Salut,
comme ça :
comme ça :
$ligne = $ip."\n\r"; fputs($inF, $ligne);
victoires
Messages postés
118
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
3 juin 2016
Modifié par victoires le 22/04/2013 à 14:43
Modifié par victoires le 22/04/2013 à 14:43
essaye d'ajouter un renvoi à la ligne avant l'écrirture d'ip
$Fnm = "ip.txt"; $inF = fopen($Fnm,"a"); $ip = $_SERVER["REMOTE_ADDR"]; fputs($inF, "\n"); // on va a la ligne fputs($inF,$ip); fclose($inF);
Merci de ta réponse également :)
Cela marche parfaitement lorsque j'essaye une premiere fois avec mon ordinateur, le suis bien blacklisté, cependant lorsque je reessaye une seconde fois avec un autre pc sur mon autre box, les deux ips sont bien dans le txt, J'obtient en bien ip.txt:
XX.XX.XX.X1
XX.XX.XX.X2
mais plus aucune d'elle n'est bloquée..
Le script de blacklist par ip:
<?php
$ip_blacklist = file('ip.txt');
// lecture de l'ip en cours
$ip = isset($_SERVER['REMOTE_ADDR']) ? trim($_SERVER['REMOTE_ADDR']) : '';
// test si l'ip est blacklisté
if ( array_search($ip, $ip_blacklist) !== FALSE )
{
echo '<meta http-equiv="refresh" content="0;URL=offre01.php">';
// stop le script
exit;
}
?>
J'espère que tu aura la solution, je suis perdu ^^
Merci d'avance..
Cela marche parfaitement lorsque j'essaye une premiere fois avec mon ordinateur, le suis bien blacklisté, cependant lorsque je reessaye une seconde fois avec un autre pc sur mon autre box, les deux ips sont bien dans le txt, J'obtient en bien ip.txt:
XX.XX.XX.X1
XX.XX.XX.X2
mais plus aucune d'elle n'est bloquée..
Le script de blacklist par ip:
<?php
$ip_blacklist = file('ip.txt');
// lecture de l'ip en cours
$ip = isset($_SERVER['REMOTE_ADDR']) ? trim($_SERVER['REMOTE_ADDR']) : '';
// test si l'ip est blacklisté
if ( array_search($ip, $ip_blacklist) !== FALSE )
{
echo '<meta http-equiv="refresh" content="0;URL=offre01.php">';
// stop le script
exit;
}
?>
J'espère que tu aura la solution, je suis perdu ^^
Merci d'avance..
victoires
Messages postés
118
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
3 juin 2016
22 avril 2013 à 15:17
22 avril 2013 à 15:17
je ne comprends pas ton array_search ??!!
essaye une chose simple genre :
lis le fichier ligne par ligne et à chaque ligne tu test si les deux valeurs sont égaux tu redirige.
sinon pourquoi tu n'enregistre pâs la liste des ip dans une base de données ?
pour lire le fihcier ligne par ligne
http://dev.petitchevalroux.net/php/lecture-fichier-ligne-par-ligne-php.227.html
essaye une chose simple genre :
lis le fichier ligne par ligne et à chaque ligne tu test si les deux valeurs sont égaux tu redirige.
sinon pourquoi tu n'enregistre pâs la liste des ip dans une base de données ?
pour lire le fihcier ligne par ligne
http://dev.petitchevalroux.net/php/lecture-fichier-ligne-par-ligne-php.227.html
victoires
Messages postés
118
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
3 juin 2016
Modifié par victoires le 22/04/2013 à 15:20
Modifié par victoires le 22/04/2013 à 15:20
/*Ouverture du fichier en lecture seule*/
$handle = fopen('ip.txt', 'r');
/*Si on a réussi à ouvrir le fichier*/
if ($handle)
{
/*Tant que l'on est pas à la fin du fichier*/
while (!feof($handle))
{
/*On lit la ligne courante*/
$buffer = fgets($handle); // contient la valeur d'ip
// test les deux ip avec un if
if($_SERVER['REMOTE_ADDR'] == $buffer) alors redirection
else ....
}
/*On ferme le fichier*/
fclose($handle);
}
$handle = fopen('ip.txt', 'r');
/*Si on a réussi à ouvrir le fichier*/
if ($handle)
{
/*Tant que l'on est pas à la fin du fichier*/
while (!feof($handle))
{
/*On lit la ligne courante*/
$buffer = fgets($handle); // contient la valeur d'ip
// test les deux ip avec un if
if($_SERVER['REMOTE_ADDR'] == $buffer) alors redirection
else ....
}
/*On ferme le fichier*/
fclose($handle);
}
Cela me donne donc:
<?php
$handle = fopen('ip.txt', 'r');
if ($handle)
{
while (!feof($handle))
{
$buffer = fgets($handle); // contient la valeur d'ip
if($_SERVER['REMOTE_ADDR'] == $buffer);
else {
echo '<meta http-equiv="refresh" content="0;URL=offre01.php">';
}
}
fclose($handle);
}
?>
Mais quand je teste, je suis toujours redirigé meme si mon ip n'est pas blacklistée..
PS: Je suis novice, et encore quand je dit novice c'est pas mal^^
Merci :)
<?php
$handle = fopen('ip.txt', 'r');
if ($handle)
{
while (!feof($handle))
{
$buffer = fgets($handle); // contient la valeur d'ip
if($_SERVER['REMOTE_ADDR'] == $buffer);
else {
echo '<meta http-equiv="refresh" content="0;URL=offre01.php">';
}
}
fclose($handle);
}
?>
Mais quand je teste, je suis toujours redirigé meme si mon ip n'est pas blacklistée..
PS: Je suis novice, et encore quand je dit novice c'est pas mal^^
Merci :)
22 avril 2013 à 15:04
Les IP s'ajoutent parfaitement à la suite avec un retour à la ligne,
Mais, je n'ai aucune idée de pourquoi, depuis la blacklist ne marche plus..
Le code ce la blacklist sur la page de commande:
<?php
$ip_blacklist = file('ip.txt');
$ip = isset($_SERVER['REMOTE_ADDR']) ? trim($_SERVER['REMOTE_ADDR']) : '';
if ( array_search($ip, $ip_blacklist) !== FALSE )
{
echo '<meta http-equiv="refresh" content="0;URL=offre01.php">';
exit;
}
?>
Aucune idée de pourquoi ? :/
22 avril 2013 à 15:50