INTERDIRE UN PAYS DANS VOTRE SITE

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 - 29 août 2003 à 18:25
RenardB Messages postés 4 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 26 mars 2010 - 6 nov. 2009 à 14:37
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/13434-interdire-un-pays-dans-votre-site

RenardB Messages postés 4 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 26 mars 2010
6 nov. 2009 à 14:37
bonjour je tente de laisser l'accée qu'a deux pays pour un site j'ai donc fait ceci dans kill-country

mais cela ne semble pas fonctionner ? quelqu'un peut t'il m'aider ?

// Ici indiquer les pays à autoriser
if (trim(IpEnPays()) != "FRANCE" OR trim(IpEnPays()) != "BELGIUM")
{
// Ca c'est pour la blague .. mais il suffit de mettre "die;" à la fin de la condition
header("Location:http://www.wanadoo.fr");
}
RenardB Messages postés 4 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 26 mars 2010
21 oct. 2009 à 14:28
Bonjours a tous

très bonne idée j'ai besoin de le faire fonctionner pour éviter que certains pays servant de support au attaque arrive sur mon serveur.
j'ai pas réussis a mettre en place le .csv du site officiel , le bout de programme donné plus haut ne semble pas fonctionné chez moi ?
je me suis donc tourné vers l'url du sql fournis mais qui manque d'une mise a jours ( date de 2007 ) si quelqu'un avais la bonté de nous fournir un sql a jours ?

j'ai creer un fichier php de test avec l'appel <? include("kill_country.php"); ?>
et dans le fichier kill_country.php j'ai copier coller et mis mes donné d'accée a ma base de donnée.

cela fonctionne bien pour l'interdiction d'un pays mais comment je doit faire pour interdire plusieurs pays ? j'ai une liste de 10 pays banni de mon serveur

merci de votre aide

David
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
19 janv. 2009 à 01:46
les plages d'adresses ip de neuf et cegetel ne sont peu être pas dans la base de données actuelle. il faut donc régulièrement mettre à jour la base de données des correspondances ip<->pays.

J'indique la procédure dans la première partie du code.
c.f.:
// Le fichier pour enregistrer le fichier *.CVS dans votre base :
Utilisateur anonyme
7 janv. 2009 à 12:34
Salut McPeter,

Qu'est-ce que tu veux dire par là ?
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
7 janv. 2009 à 11:59
faut peu être que je fasse une nouvelle mise à jour de la DB :p (mais vous pouvez le faire vous aussi :) )
Utilisateur anonyme
5 janv. 2009 à 23:59
REMARQUE TRES IMPORTANTE : Après plus d'un an d'utilisation, j'ai remarqué qu'en autorisant que la France à l'accès aux pages, les personnes étant chez le neuf ou cegetel étaient directement bannis comme si elles ne faisaient pas partie de la France.

Voilà...
Utilisateur anonyme
10 oct. 2007 à 15:34
Bonjour et merci pour ce script.

Je tenais à remercier Mc Peter pour ce script, car cela fait 2 jours que je cherchais un moyen pour interdire l'accè à une partie de mon site à la communauté mondiale étant donnée qu'il s'adresse tout particulièrement aux Français. Le fichier htaccess ne fonctionne pas chez moi pour ce genre de demande... alors ce script tombe à point.

J'ai quand même quelques petits problèmes.

Le premier viens qu'en laissant la " France " comme banni, j'ai une phrase qui apparait et la page est toujours visible. La voici :


Warning: Cannot modify header information - headers already sent by (output started at /home/.pusshead/site/mon_site/kill_country.php:47)


Pour le second, dois-je mettre le code en tête de page, entre les balises head, entre les balises Body ou en fin de page ?

Merci d'avance pour votre aide...

Note pour deephoat : Il me semble que cette partie du site est pour celles et ceux qui ont des problème avec le script. Tes remarque à propos de l'utilité de celui-ci me semble hors de propos et je ne crois pas être le seul à trouver se script des plus interéssant.


Le troisième concerne l'ajout de Pays. Je n'arrive pas à savoir comment on peut rajouter des pays bannis ? Doit-on mettre obligatoirement le nom du pays en entier et sous la même forme que dans la base ou pouvons-nous mettre également le code 2 ou le code 3 à sa place ?
angeoublie Messages postés 1 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 21 septembre 2007
21 sept. 2007 à 16:45
Bonjour,
Chez moi j'ai un probleme, ça me donne ça après avoir fait les fichiers et entrer la bdd mysql:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/*****/vhosts/******.net/********/kill_country.php on line 50

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/*****/vhosts/******.net/*******/kill_country.php on line 55

Et voici ce que j'ai aux lignes indiquées:

48 //------------------------------------
49 $result = mysql_db_query($base,"SELECT * FROM ".$table_country." WHERE ".$ip." BETWEEN IP_FROM AND IP_TO ", $db);
50 if ($rowPays=mysql_fetch_row($result))
51 $retour=$rowPays[4];
52 else
53 $retour="Indeterminé";
54 //------------------------------------
55 mysql_free_result($result);
56 return $retour;
57 }

Quelqu'un peut m'aider ? merci !
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
13 juin 2007 à 19:54
Voilà ... mis à jour ..pour la base sql
c'est toujours le lien mentionné plus haut
@++
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
13 juin 2007 à 04:31
je vais refaire ce fichier
avec les dernières mises à jour
GFONK Messages postés 19 Date d'inscription samedi 15 janvier 2005 Statut Membre Dernière intervention 20 octobre 2007
12 juin 2007 à 05:30
à l'attention de McPeter j'aimerais bien télécharger la version toute prête pour SQl or il se trouve qu'elle n'est plus téléchargeable apparement

Merci de combler cette lacune
winsion Messages postés 1 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 25 septembre 2006
24 sept. 2006 à 16:33
Merci, merci, merci !!!!
Le nombre de brésiliens qui viennent sur mon site pour le pirater !!!
Maintenant, tchao les brésiliens... (de toute façon mon site est uniquement destiné à la france)
vangeurmasker Messages postés 99 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 29 mars 2006
30 août 2005 à 23:21
function get_ip() {
if(isset($_SERVER)) {
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
$ip = $_SERVER['HTTP_CLIENT_IP'];
else
$ip = $_SERVER['REMOTE_ADDR'];
}
else {
if(getenv('HTTP_X_FORWARDED_FOR'))
$ip = getenv('HTTP_X_FORWARDED_FOR');
elseif(getenv('HTTP_CLIENT_IP'))
$ip = getenv('HTTP_CLIENT_IP');
else
$ip = getenv('REMOTE_ADDR');
}

return $ip;
}
Tien pour la mise a jour.
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
16 juin 2005 à 20:18
PusHead ta fonction ne tourne pas sous PHP5 :(
PusHead Messages postés 1 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 26 juin 2004
26 juin 2004 à 08:12
Pour récupérer l'ip du visiteur il y a plus efficace mais plus aussi


<?
function get_ip() {
if($_SERVER) {
if($_SERVER['HTTP_X_FORWARDED_FOR'])
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
elseif($_SERVER['HTTP_CLIENT_IP'])
$ip = $_SERVER['HTTP_CLIENT_IP'];
else
$ip = $_SERVER['REMOTE_ADDR'];
}
else {
if(getenv('HTTP_X_FORWARDED_FOR'))
$ip = getenv('HTTP_X_FORWARDED_FOR');
elseif(getenv('HTTP_CLIENT_IP'))
$ip = getenv('HTTP_CLIENT_IP');
else
$ip = getenv('REMOTE_ADDR');
}

return $ip;
}
?>


Pour éviter les pare-feux et proxy
8neo8 Messages postés 4 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 12 août 2003
11 déc. 2003 à 23:37
Pas mal.Voir même enfin un code intéréssent...
BlackKr0nik Messages postés 1 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 9 décembre 2003
9 déc. 2003 à 16:09
perso....sa m'servira pa....mais bon ton exemple sur les rikains ma plu :pp, et bon ya dé bonnes choses :) allez 8 :pAvant de valider votre commentaire merci de le relire (2 fois s'il le faut) afin d'éviter un maximum de fautes d'orthographe et de français. Merci également de veiller à ne pas trop écorcher la langue de molière en écrivant en abrégé (comme sur des SMS).
=> ***** j'croi k'G po respecté lé règle C grav ?? :pp
bonne dev
cs_spidee Messages postés 2 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 12 décembre 2005
2 oct. 2003 à 18:56
Bon sa me serviras certainement pas mais je le prend quand mm mici
Mc pouteur ^^ ( ct nul je c ...)
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
8 sept. 2003 à 04:51
Effectivement ferber .. :)
thx
ferber Messages postés 86 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 3 juin 2008
7 sept. 2003 à 22:59
un autre exemple d'utilisation pourrait être une redirection automatique de l'utilisateur vers la version du site traduit dans la langue correspondant a son ip.

sa peut ausi servir, l'orsque que le non/pub d'un produit diffère d'un pay a l'autre,

Cordialement
nicolas Maucci
cs_giminik Messages postés 1 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 2 septembre 2003
2 sept. 2003 à 23:59
bon les cocos, les proxis ça existe
ensuite dans certains pays y'a des lois qui empêchent de montrer certaines choses donc voici donc l'utilité.
odyseus Messages postés 14 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 27 mars 2003
2 sept. 2003 à 09:16
Un exemple flagrant c'est lorsqu'on developpe un intranet de societe situe en France ,et qu'on ne veux pas qu'un hacker etranger esai de rentrer sur le site, meme si un bon hacker contournerais la chose..
bon dev

FRANCIS
deephoat Messages postés 10 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 3 juin 2004
30 août 2003 à 12:55
g jamé dit ke c té nul personelement joré ete completement incapable de la faire 7 source enfin bref bonne continuation a toi McPeter
thepopolinux Messages postés 245 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 21 juin 2004
30 août 2003 à 11:34
pourkoi pas ... :)
jotrash Messages postés 373 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 19 juin 2007
30 août 2003 à 08:46
lol deephoat ce quon veut dire cest quand ce moment a chaque fois quon poste une source on na un commentaire pour dire que c nul et que ca sert a rien
alors que chaque source a son interet peut etre pas pour soi mais pour un autre si
deephoat Messages postés 10 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 3 juin 2004
29 août 2003 à 22:58
je dis pas ke c la technike c juste lethike ....
c ce ke je pense ; apré bah voila koi !
Bon je diré plus rien paske a parament sa va matirer les foudre de gens ke je ne conné meme pa ... mdr
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
29 août 2003 à 22:53
Oui encore un commentaire débile
alors avant de dire que mon code c'est n'importe quoi grandit un peut ..
même pas une source sur CS n'y un message dans les forums et ça vient balancer un commentaire bidon !

pour T0x1K :
Privée .. eu ...ben apr exemple, tu as des images et tu veux pas que les ricains ( pour reprendre jotrash) y aient accès
Professionnelle : eu .. ben tu vends par exemple certains produit et tu veux aps que tel ou tel pays voient ta technique de vente en ligne ..

Par contre jeca ça c'est un commentaire constructif .. je vais voir ce que ça donne... merci ;)
deephoat Messages postés 10 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 3 juin 2004
29 août 2003 à 20:26
wé nan meme pour sa sa vaut pa le coup moi je dit .. ;)
jotrash Messages postés 373 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 19 juin 2007
29 août 2003 à 20:23
bah ya plein de gens qui sont contre les ricains alors ...
deephoat Messages postés 10 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 3 juin 2004
29 août 2003 à 20:10
wé c un peut nimpotnawak ton truc ; personellement je voi pas linteret dinterdir a kelkun daller sur ton site ; fin je c pas internet c un moyen de liberté et de comunication .. pour tous enfin pour ceux ki en sont ekipés ; enfin je crois donc vouala je comprend pas trop linteret mais bon ...
cs_T0x1K Messages postés 261 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 12 janvier 2010
29 août 2003 à 18:41
quelles raisons privées ou profesionnelles?
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
29 août 2003 à 18:25
les lignes d'importation pourraient avantageusement être remplacée par cette requète :

$sql = "LOAD DATA INFILE '$filename' " .
"INTO TABLE kill_country " .
"FIELDS TERMINATED BY ',' " .
"LINES TERMINATED BY '
'";

Testé sur serveur PIII 500
fichier : ip-to-country.csv

temps d'éxécution :
la fonction du code : 47 à 48 secondes
la requète : 0.5 à 0.6 seconde