[Astuce] Bannir les escrocs: interdire les visiteurs de certains pays

Discussion dans 'Administration d'un site Web' créé par kitten13, 27 Juin 2009.

  1. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Bonjour,

    Comme de nombreux site d'annonce ou autre je suis confronter à une déferlante d'escroc en tout genre et récalcitrant en provenance ( à 70%) d'aprés mes stats perso de la Côte ivoire/Niger sans vouloir polémiquer.

    J'ai donc chercher le moyens de les bloquer par différent moyen mais faut avouer qu'ils sont malin et ont plusieurs tours dans leurs sacs pour parer les protections mis en place, en cherchant sur le net j'ai trouver différente solution et ainsi réussi a bloquer à 99% les tentatives.

    Voici donc une petite synthèse :

    Première chose bloquer les ip par plage et pays, un exemple via .hatccess:
    Code:
    RewriteCond %{REMOTE_ADDR} ^41\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
    RewriteCond %{REMOTE_ADDR} ^81\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
    RewriteCond %{REMOTE_ADDR} ^196\.[0-9]+\.[0-9]+\.[0-9]+
    RewriteRule .* - [F] 
    Ici nous bloquons les ip commençant par 41, 81 et 196 vous trouvez sur ce site les plages ip correspondant à chaque pays à vous de les récupérer pour les adapter à ce code. http://www.blockacountry.com/

    Une seconde méthode consiste à utilisé la géolocalisation via apache toujours par .hatccess:
    Code:
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^SN|NE|NG|CG|DE|CI|BJ$
    RewriteRule .* - [F]
    Ici nous bloquons les ip géolocaliser dans les pays Sénégal, Niger, Abidjan etc... Pour plus d'info voici un tutoriel http://apache.developpez.com/cours/geolocalisation/

    Arriver à ce stade vous avez bloquer la quasi totalité des spammeur/escroc mais reste les petits futé qui auront la bonne idée d'utilité un wep proxy pour passer outre la restriction mis en place, voici donc comment y remédier:
    Code:
    RewriteCond %{HTTP:VIA}                 !^$ [OR]
    RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
    RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
    RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
    RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
    RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
    RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
    RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
    RewriteRule ^(.*)$ - [F]
    Ici nous bloquons les serveurs proxy par ce qu'ils font avec une simple liste noire des différents protocoles HTTP utilisés par ses serveurs proxy.

    Le code entier:
    Code:
    RewriteCond %{REMOTE_ADDR} ^41\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
    RewriteCond %{REMOTE_ADDR} ^81\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
    RewriteCond %{REMOTE_ADDR} ^196\.[0-9]+\.[0-9]+\.[0-9]+
    RewriteRule .* - [F] 
    
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^SN|NE|NG|CG|DE|CI|BJ$
    RewriteRule .* - [F]
    
    RewriteCond %{HTTP:VIA}                 !^$ [OR]
    RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
    RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
    RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
    RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
    RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
    RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
    RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
    RewriteRule ^(.*)$ - [F]
    
    Pour utiliser ce code, copier / coller dans un fichier nommé .htaccess et uploader le à la racine de votre site. Vous voila débarrasser à 99% des vilains escroc ;)

    Si certain veulent apporter des améliorations n'hésitez pas, en espérant que ce mini tuto vous servent ;)
     
  2. LifeIsGood
    LifeIsGood Nouveau WRInaute
    Inscrit:
    15 Juin 2009
    Messages:
    4
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Salut :D

    C'est une super idée ton post :wink:

    Sur ton site ca a vraiment bien marché ?

    il y a aucun francais qui se retrouve bloqué avec tes techniques ? c'est sur a 100% ?

    Merci :wink:
     
  3. twin
    twin WRInaute passionné
    Inscrit:
    23 Février 2004
    Messages:
    1 402
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Salut,

    Très bon topic !

    D'après les explications, je pense que oui.
    Mais je ne serai pas rassuré de mettre en place tes codes...il peut y avoir des clients honnêtes dans les pays concernés.
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 795
    J'aime reçus:
    104
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Très bon topic. +1 reco
     
  5. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 411
    J'aime reçus:
    57
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Si de potentiels clients surfent en passant par un proxy logiciel, cela ne pose pas de soucis ?
     
  6. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Oui à 100%, je n'ai bloquer uniquement que les pays qui me pause problème comme le bénin etc... soit avec:

    - Les plages ip par pays (fiable à 100% mais faut tenir à jour les plages)
    - La géolocalisation (fiable à 100%)

    -Blocage des web proxy

    Un exemple: Mon site est dédier uniquement à la France .fr donc je vois pas pourquoi des utilisateurs du bénin passerais une annonce pour un bien en France.

    Ensuite vous avez la possibilité de choisir précisément les pays à bloquer.

    Alors pour le code de blocage des web proxy il est possible de faire des règles d exception, voici un exemple:

    Code:
    <IfModule mod_rewrite.c>
     RewriteEngine on
     RewriteCond %{HTTP:VIA}                 !^$ [OR]
     RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
     RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
     RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
     RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
     RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
     RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
     RewriteCond %{HTTP:XROXY_CONNECTION}    !^$ [OR]
     RewriteCond %{HTTP:X-FORWARDED-FOR}     !^$ [OR]
     RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$ [OR]
     RewriteCond %{HTTP:FORWARDED-FOR}       !^$ [OR]
     RewriteCond %{HTTP:X-FORWARDED}         !^$
     RewriteCond %{HTTP_REFERER}             !(.*)proxy-01.com(.*)
     RewriteCond %{HTTP_REFERER}             !(.*)proxy-02.net(.*)
     RewriteCond %{HTTP_REFERER}             !(.*)proxy-03.fr(.*)
     RewriteRule ^(.*)$ - [F]
    </IfModule>
    ici nous bloquons tout les proxy sauf: proxy-01.com, proxy-02.net, proxy-03.fr grâce à HTTP_REFERER.

    Voici une liste de proxy non complète http://www.free-proxy.fr/ et en cherchant bien sur le net vous trouverez des listes noirs de web proxy à blacklister.

    Attention il faut savoir quand bloquant les pays ainsi ceci va à l'encontre des principes d'accessibilité et de liberté d'Internet.
     
  7. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 795
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Beaucoup de soucis dans ce que tu dis...

    D'abord, tu générales des plages d'adresses beaucoup plus strictes en gros blocs (/8). Même si la plupart de ces gros blocs sont généralement attribués par région (Europe, Afrique, Asie-Pacific, Amériques...), les blocs plus anciens ne le sont pas, et la finesse du blocage n'est pas forcément idéale, et en tous cas à ne pas généraliser pour d'autres pays (genre si tu voulais bloquer un pays Européen avec cette méthode tu bloquerais pratiquement toute l'Europe).

    Ensuite, pour utiliser GeoIP, il faut qu'il soit activé dans ta config Apache, ce n'est pas un module standard. Et si tu veux que ce soit efficace, il faut prendre un abonnement pour avoir les fichiers précis et à jour (les versions gratuites sont beaucoup moins précises).

    En ce qui concerne les proxies, tu bloques tous les utilisateurs qui passent légitimement par des proxies, par exemple tous les utilisateurs AOL, mais il y a pas mal d'autres ISPs pour lesquels c'est le cas (de façon obligatoire ou pas), sans parler des utilisateurs derrière des proxies en entreprise, etc. Et la plupart des proxies utilisés par les gens pas très honnêtes n'incluent généralement pas les informations permettant de les repérer aussi facilement...

    Bref, tu bloques à la fois trop et pas assez... Je pense que le principal problème c'est surtout le "trop".

    Jacques.
     
  8. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    merci pour tes remarques ;)

    Je suis d'accord c'est pour cela que je propose une deuxième méthode basé sur le module de géolocalisation d'apache qui lui est plus fiable.

    Pas mal d'hébergeur le propose et je pense que certain na savent même pas qu'ils ont ce module d'activer ;)

    La fiabilité des bases de données mises gratuitement à votre disposition est estimée à 98% pour celle des pays et à 69% en ce qui concerne celle des villes. Avec une perte supplémentaire d'environ 1,5% tous les mois si vous ne téléchargez pas sa nouvelle version paraissant de manière mensuelle. ( allez un udapte tout les 6 mois c'est pas la mer à boire ;) )

    source: http://apache.developpez.com/cours/geolocalisation/#L2.1

    ET voici la dernière mise à jour datant de juin 2009 http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip

    j'ai mis un deuxième code pour mettre en place des règles d'exception

    exemple:

    Code:
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP:VIA}                 !^$ [OR]
    RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
    RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
    RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
    RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
    RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
    RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
    RewriteCond %{HTTP:XROXY_CONNECTION}    !^$ [OR]
    RewriteCond %{HTTP:X-FORWARDED-FOR}     !^$ [OR]
    RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$ [OR]
    RewriteCond %{HTTP:FORWARDED-FOR}       !^$ [OR]
    RewriteCond %{HTTP:X-FORWARDED}         !^$
    RewriteCond %{HTTP_REFERER}             !(.*)proxy-01.com(.*)
    RewriteCond %{HTTP_REFERER}             !(.*)proxy-02.net(.*)
    RewriteCond %{HTTP_REFERER}             !(.*)proxy-03.fr(.*)
    RewriteRule ^(.*)$ - [F]
    </IfModule>
    Ou faire l'inverse en bloquant simplement les proxy blacklister et laisser tout les autres passer ainsi aucun problème pour aol et les autres.

    Je pense que mon code est simple et assez fiable à moins que quelqu'un à plus fiable à proposer je suis ouvert.
     
  9. 9aoud
    9aoud WRInaute occasionnel
    Inscrit:
    25 Mars 2008
    Messages:
    495
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Tres interessant comme topic, je cherchais une méthode justement :D
    Pour y séjouner régulierement, je peux affirmer que non. Les personnes honnetes n'ont pas accès à internet et n'ont pas les moyens financier de devenir des "clients potentiels", quant aux autres nous les connaissons tous.
     
  10. beber24
    beber24 WRInaute discret
    Inscrit:
    3 Février 2006
    Messages:
    232
    J'aime reçus:
    0
  11. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Lol perdu, le site ne m'appartiens plus et je n'ai pas appliquer ces règles sur ce site mais sur un autre qui n'est pas soumis à l'annuaire webrankinfo, fait un test sur ton propre site et essaie a nouveaux avec n'importe quel proxy pour voir ;)
     
  12. beber24
    beber24 WRInaute discret
    Inscrit:
    3 Février 2006
    Messages:
    232
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Tu as également perdu car je viens de tester sur un de mes propres sites et ca passe :mrgreen:

    Notamment avec surfmyspace c'est pour ca que je pense que ta règle anti webproxy ne fonctionne pas. Envoi moi ton site en MP et je t'en montre d'autres.
     
  13. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    As tu bien le module géolocalisation activer comme le dit jcaron ? car moi j'ai déjà fait plusieurs test même avec le proxy que tu as cité et ça fonctionne ;)

    pour preuve voici ce que me renvoi tes deux proxy quand j'essaie:

    édit: module géolocalisation activer euhh rien à voir avec les proxy oups!!!
     
  14. beber24
    beber24 WRInaute discret
    Inscrit:
    3 Février 2006
    Messages:
    232
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Effectivement cette librairie n'est pas en place je vais de ce pas la mettre en place. Merci pour ton post :wink:
     
  15. beber24
    beber24 WRInaute discret
    Inscrit:
    3 Février 2006
    Messages:
    232
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Ah me voila alors plongé dans le doute car j'essaye et ca marche avec n'importe quel webproxy... Et puis j'ai un doute sur le passage des bots quant au référencement.
     
  16. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    3 062
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Bonjour,
    Y a un truc qui est pas mal, du moins de manière complémentaire, pour les sites d'annonces c'est le coup du mail de validation pré-publication avec bannissement des adresses hotmail, gmail, etc.
     
  17. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    En demandant uniquement l'email du FAI comme le font certain site e commerce ? J'avais eu cette idée aussi mais cela me semble un peu stricte :? .
     
  18. Francois13
    Francois13 WRInaute occasionnel
    Inscrit:
    2 Avril 2007
    Messages:
    333
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Avec ce critère je suis exclu !
     
  19. rikew
    rikew WRInaute impliqué
    Inscrit:
    19 Décembre 2002
    Messages:
    724
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Le mieux c'est de demander une copie de piece d'identitée à l'inscription :/
     
  20. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    21 924
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    copie très aisément falsifiable
     
  21. anemone-clown
    anemone-clown WRInaute passionné
    Inscrit:
    11 Novembre 2007
    Messages:
    1 705
    J'aime reçus:
    10
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    +1 !
    De 1 à 2 inscriptions non validées par jour, je suis passé à ... 1 non validée par mois. Casse tête en moins! Et mieux : le nombre d'inscriptions n'a pas diminué (avec bannissement des hotmail, gmail, yahoo, live plus tous les services délivrant des adresses mails temporaires).

    Le blocage des proxy est, à mon avis, un non-sens puisque de plus en plus d'internautes cachent leur IP (enfin, ils le croient :roll: ) depuis Hadopi et de nombreux autres se connectent depuis leur travail (si si... :mrgreen: ) avec des réseaux d'entreprises et sont donc derrière un proxy.

    Quant à la GeoIP : elle n'est fiable qu'à 98% (j'utilise depuis quelques temps déjà) et les "vrais" spammeurs ne passent plus par les pays d'Afrique depuis longtemps.
     
  22. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays


    Si je fait un filtrage des mails alors la c'est diviser par 7 les inscriptions dans mon cas précis(et risquer d'agacer l'internaute car la plupart ne souhaite pas divulguer leur email perso FAI), de plus mes visiteurs sont des utilisateurs lambda, la plupart ne savent même pas que l'on peut cacher sont ip ( 80% sont des femmes ) et pour la géolocalisation sur quoi te base tu pour affirmer quel n'est pas fiable ?

    et comment fait t'il si il n'utilise pas de proxy ?

    Je pense que ce code est à adapter au cas par cas, certains y trouveront leur compte et d'autre non, chaque site à ces utilisateurs (débutant, confirmer etc ...) il faut donc mettre en place une stratégie différente et personnalisé pour bloquer les spammeurs mais sans nuire à ces visiteurs(ou au minimum).

    Sinon pour les proxy je rejoint plusieurs avis, bloquer les proxy reviens à bloquer une parti de ses visiteurs, dans mon cas 3% de connexion via proxy, le jeux en vaut la chandelle, du moins pour l'instant.

    Pour finir la solution du filtrage des email est à retenir mais à adapter suivant ces besoins ainsi que ip, géo, proxy

    =======================

    edit: Sinon il ya aussi le capcha sous forme de question-réponse en espérant que le spammeur ai 2 de QI :mrgreen:

    exemple chez ovh:
    lol
     
  23. prog-x
    prog-x WRInaute discret
    Inscrit:
    6 Janvier 2007
    Messages:
    101
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Ce que tu peux faire c'est faire valider automatiquement un compte par SMS.

    Tu envoies un SMS lors de l'inscription avec un code que le visiteur doit entrer pour valider son inscritpion.

    Après, selon le code international du portable, tu sais exactement d'où il vient et tu peux bloquer les pays "indésirables".

    Inconvénient de cette méthode : te coûte un SMS par inscritpion.
     
  24. LifeIsGood
    LifeIsGood Nouveau WRInaute
    Inscrit:
    15 Juin 2009
    Messages:
    4
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Ça peut bloquer certains robots ? :?
     
  25. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    21 924
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    tout le monde n'a pas de portable.
    tout le monde n'a pas envie de donner son numéro de portable pour devenir SMS spammé
     
  26. prog-x
    prog-x WRInaute discret
    Inscrit:
    6 Janvier 2007
    Messages:
    101
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    C'est vrai, mais quel est le pourcentage de personne qui ont un PC + un accès internet et qui n'ont pas de téléphone portable ?

    Je suppose qu'il est relativement faible car en général on a d'abord un téléphone portable qui est mois couteux (à l'achat et mensuellement) que le PC et l'accès web.

    Vrai également, mais le problème est identique avec l'adresse mail. Bon OK il y a les filtres SPAM, on change plus facilement d'adresse mail que de numéro de téléphone, mais par contre il y a moins de SPAM par SMS que par mail vu que c'est plus cher pour le spammeur.

    Ma solution n'est pas une solution parfaite mais elle est (à mon avis) un compromis acceptable pour résoudre son problème.
     
  27. mijsoot
    mijsoot Nouveau WRInaute
    Inscrit:
    12 Octobre 2005
    Messages:
    49
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    Salut,

    Nous on a remarqué que les escrocs n'ont aucuns scrupules. A savoir, qu'ils commandent d'un pays étranger avec une carte fraichement volé (donc par encore déclaré) et qu'ils ont des complices en France pour donner une adresse et un numéro de téléphone en France. Résultat pas question des les identifier de la sorte.
    On a donc aussi opté pour la géolocalisation IP, mais plutôt que de risquer d'interdire un pays autorisé (par rapport à la fiabilité, qui d'ailleurs est pour nous plus proche de 99% pour le pays), on effectue la géolocalisation de l'adresse IP une fois la transaction effectuée.
    On a donc mis en place pour nos e-commerces un système de géolocalisation dans la fiche du client ou plutôt de sa transaction.

    On en a fait un Webservice gratuit jusqu'à 50 requêtes / jour (pour les petits sites cela suffit en général) si cela intéresse quelqu'un : Geolocalise IP.

    Bien sûre il faut développer son propre système, le webservice n'est là que pour geolocaliser une ip et rien d'autre.
     
  28. lyonist
    lyonist WRInaute discret
    Inscrit:
    5 Août 2008
    Messages:
    184
    J'aime reçus:
    0
  29. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    3 062
    J'aime reçus:
    0
    Re,
    Ce qui est sûr c'est que quand on sait ce que l'on risque en proposant un système insuffisamment sécurisé, au niveau de l'identification de l'annonceur pour un site d'annonce, on veut bien perdre 1/7e desdites annonces, et j'en sais quelque chose ;)

    Edité : PS : les trucs avec adresse IP ça bloque pas les "vrais" escrocs qui vont "voler" une adresse IP, "et pi c'est tout" (Philippe Lucas dans le texte) :)
     
  30. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    bonjour,

    Pour tout ceux qui serait réticent à utiliser la directive pour bloquer les web-proxy, voici une mise à jour du code:

    Ici nous bloquons uniquement les requêtes POST faite un par web-proxy, possible d'appliquer aussi à GET, pour les pages: (post.php, recherche.php, newsletter.php) mais autorise quand même le visiteur à surfer sur le site.

    Code:
    RewriteCond %{REQUEST_METHOD} =POST
    RewriteCond %{HTTP:VIA}%{HTTP:FORWARDED}%{HTTP:USERAGENT_VIA}%{HTTP:X_FORWARDED_FOR}%{HTTP:PROXY_CONNECTION} !^$ [OR]
    RewriteCond %{HTTP:XPROXY_CONNECTION}%{HTTP:HTTP_PC_REMOTE_ADDR}%{HTTP:HTTP_CLIENT_IP} !^$
    RewriteCond %{REQUEST_URI} !^/(post.php|recherche.php|newsletter.php).* [NC]
    RewriteRule .* - [F,NS,L]
    ;)
     
  31. passion
    passion WRInaute accro
    Inscrit:
    6 Janvier 2006
    Messages:
    3 553
    J'aime reçus:
    28
    Bonjour,

    Merci pour ce topic très intéressant car je cherchais un truc dans ce genre ;)

    Par contre, j'aurais 2 questions :
    -1/ Ton filtrage ne ralentit pas les performances de ton site?

    Ce que je fais actuellement, c'est toute nouvelle inscription passe par une validation manuelle dans mon admin avant insertion dans la BDD.

    -2/ N'est-il pas préférable de passer par une méthode comme celle-ci pour éviter des pertes de performances et laisser un plein accès à tout internaute?

    Merci
     
  32. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Strictement pas

    Comme je l'ai dit précédemment, a vous d'établir votre politique de sécurité en prenant en compte différent paramètre, thématique de votre site, visiteur visé etc ...

    Les techniques que je d'écrit peuvent ou non vous servir dans la mise en place de votre stratégie de défense contre les spammeurs, donc à vous de voir suivant vos besoins.

    ;)
     
  33. Alyne
    Alyne WRInaute discret
    Inscrit:
    28 Novembre 2007
    Messages:
    58
    J'aime reçus:
    0
    A la fois son site n'est pas du tout optimisé en terme de poids et de temps de dl. Mais ce n'est pas lui la cible..
     
  34. karkour
    karkour WRInaute discret
    Inscrit:
    2 Octobre 2006
    Messages:
    76
    J'aime reçus:
    0
    Bonjour à tous,

    Très intéressant comme astuce, cependant ne voulant pas passer par le htaccess et voulant seulement interdire l'accès à la page d'inscription pour certain pays spammeur ( hé oui, les bons payent pour les mauvais ). Voici ce que je voudrai faire et attend vos remarques voir aides :

    Code:
    Sur la page inscription j'ajoute :
    
    //
    // Get IP
    //
    $guest_ip = $_SERVER["REMOTE_ADDR"]; 
    
    //
    // ban ip spam : Si IP commence par "41." ou "81." ou "196." on redirige vers une autre page, je trouve que c'est plus humain que le message du htacces mais ceci bloque tout le continent africain et c'est ce que je ne voudrai pas faire .
    //
    
    if (preg_match("/\b41./i",  $guest_ip) || preg_match("/\b81./i",  $guest_ip)  || preg_match("/\b196./i",  $guest_ip))
    {
    $header_location = (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
    header($header_location . append_sid("http://www.nomdusite.com/pageredirige.php", true));
    exit;
    }
    
    

    Ma question est, est ce que sur le meme principe de l'adresse IP qui est trop generaliste, je pourrai le faire avec le geoIP comme ceci ( je n'ai pas essayé ) :


    Code:
    Sur la page inscription j'ajoute :
    
    //
    // Get GEOIP
    //
    $guest_ip = $_SERVER["RENV:GEOIP_COUNTRY_CODE"];  //je ne pense pas recuperer le pays ainsi mais si vous avez une astuce sans passer par case : base de données bien remplies d'IP je suis preneur
    
    //
    // ban ip spam : Si GEOIP correspon au pays "SN|NE|NG|CG|DE|CI|BJ" on redirige vers une autre page, je trouve que c'est plus humain que le message du htacces mais ceci bloque tout le continent africain et c'est ce que je ne voudrai pas faire .
    //
    
    if( $guest_ip == 'SN' || $guest_ip == 'NE' || || $guest_ip == 'NG'  || $guest_ip == 'CG'  || $guest_ip == 'DE'  || $guest_ip == 'CI'  || $guest_ip == 'BJ')
    {
    $header_location = (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
    header($header_location . append_sid("http://www.nomdusite.com/pageredirige.php", true));
    exit;
    }
    
    Vous en pensez quoi ?
     
  35. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Avec le hatccess tu peut aussi rediriger

    Code:
    RewriteCond = condition (si)
    RewriteRule = redirige, renvoi
    
    Ton principe de regexp est bien mais il faut savoir que les regexp sont gourmande en ressource, imagine 5000 visites/unique/jrs je donne pas cher des perf...

    Sinon je te conseil la geo ip en plus du check des plages ip mais le tout via hatcees car cest bien plus simple à gérer est moins gourmand.

    exemple avec le blockage des plage ip + geo ip + block webproxy:
    Code:
    RewriteCond %{REMOTE_ADDR} ^41\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
    RewriteCond %{REMOTE_ADDR} ^81\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
    RewriteCond %{REMOTE_ADDR} ^196\.[0-9]+\.[0-9]+\.[0-9]+
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^SN|NE|NG|CG|DE|CI|BJ$
    RewriteCond %{HTTP:VIA}                 !^$ [OR]
    RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
    RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
    RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
    RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
    RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
    RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
    RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
    # ont block
    RewriteRule ^(.*)$ - [F]
    # ou ont redirige
    #RewriteRule ^(.*)$ http://domain.com/ta_page_personnalise.php [R=307,L]
    
    D'autre méthode existe je ferais bientôt un nouveau tuto plus avancé ;)
     
  36. karkour
    karkour WRInaute discret
    Inscrit:
    2 Octobre 2006
    Messages:
    76
    J'aime reçus:
    0
    Pas mal :lol: , cependant je voudrai interdire l'accès de certain pays à une page ex : inscription.php pour la rediriger vers pagebidon.php en passant htacess .

    Dans ton exemple tu refuses l'accès au site en redirigeant vers pagebidon.php si j'ai bien tout compris :roll:

    merci encore
     
  37. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    21 924
    J'aime reçus:
    0
    il te suffit de changer le (.*) du rewrite par contact\.php et c'est tout
     
  38. karkour
    karkour WRInaute discret
    Inscrit:
    2 Octobre 2006
    Messages:
    76
    J'aime reçus:
    0
    Merci de ton aide : tu veux dire comme ça !

    Code:
    RewriteCond %{REMOTE_ADDR} ^41\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
    RewriteCond %{REMOTE_ADDR} ^81\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
    RewriteCond %{REMOTE_ADDR} ^196\.[0-9]+\.[0-9]+\.[0-9]+
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^SN|NE|NG|CG|DE|CI|BJ$
    RewriteCond %{HTTP:VIA}                 !^$ [OR]
    RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
    RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
    RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
    RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
    RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
    RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
    RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
    # ont block
    RewriteRule ^pageinterdite.php$ - [F]
    # ou ont redirige
    #RewriteRule ^pageinterdite.php$ http://domain.com/ta_page_personnalise.php [R=307,L]
    
    
    Je ne suis pas sure que ça soit ça merci de m'aider
     
  39. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    21 924
    J'aime reçus:
    0
    oui, comme ça
     
  40. karkour
    karkour WRInaute discret
    Inscrit:
    2 Octobre 2006
    Messages:
    76
    J'aime reçus:
    0
    merci de votre aide
     
  41. beber24
    beber24 WRInaute discret
    Inscrit:
    3 Février 2006
    Messages:
    232
    J'aime reçus:
    0
    Les règles citées ci dessus ne fonctionnent pas avec tous les webproxy :?
     
  42. salva
    salva WRInaute accro
    Inscrit:
    16 Avril 2006
    Messages:
    4 199
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    En cas d’arnaque et de dépôt de plainte, un numéro de téléphone fixe c’est du pain béni pour les enquêteurs.
     
  43. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    21 924
    J'aime reçus:
    0
    Re: [Astuce] Bannir les escrocs: interdire les visiteurs de certain pays

    si il correspond bien à l'adresse et que l'adresse leur correspond bien. S'il y a livraison à domicile et que les bàl sont facilement accessibles, sans avoir besoin d'y habiter ou encore, si pas besoin de livraison, l'adresse peut très bien ne pas exister : il suffit de regarder le gg local business avec les sociétés de dépannage qui existent en de multiples exemplaires et des adresses incomplètes ou fausses
     
  44. salva
    salva WRInaute accro
    Inscrit:
    16 Avril 2006
    Messages:
    4 199
    J'aime reçus:
    0
    Il s’agit avant tout de vérifier le numéro en l’appelant.

    Particulièrement intéressant pour les sites de petites annonces.

    Le chaland devrait exiger du vendeur et par mail (formulaire de contact présent normalement sur la page de présentation de chaque annonce) un numéro de téléphone fixe pour effectuer la transaction.
    Si le vendeur ne dispose pas de numéro de téléphone fixe, son entourage devrait selon toute vraisemblance être en mesure de combler cette carence.

    Cette manière de procéder responsabilise le vendeur et dans les cas de fraude, facilite le travail d’identification effectué par les autorités compétentes.
     
  45. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Comme le topics semble intéresser pas mal de monde, je vous propose une autre méthode:

    Cette fois si nous allons faire quelque chose de diffèrent en utilisation toujours la géolocalisation via apache pour bloquer les connexion en provenance des US et autre pays.

    Pourquoi bloquer les US ? comme je vous disais le site sur lequel j'utilise cette config est dédié particulièrement à la france, je vois mal un internaute us utilisé mon service et j'ai constater de plus une augmentation d'attaque en provenance de se pays (lamez à la recherche de faille ...)

    En gros ce que je vous propose c'est de bloquer les connexions US tout en laissant passer les spider Googlebot, yahoo, msn etc ...

    Tout d'abord il vous faut connaitre les ip des spiders en question, deux méthodes :

    - Soit vous trouver une liste ip mis à jour qui recense les spiders, mais honnêtement la liste risque d'être longue et de plus la moitie des ip se connecte jamais à votre site.

    - soit vous utiliser un script qui va enregistrer un log (.txt) des passages des bots (spider) en question, voici un exemple simple.


    Code:
    function is_bot()
    {
    	$bots = array("googlebot","msnbot","crawl.yahoo"); // list des spiders
    	for($i=0;$i<sizeof($bots);$i++)
    	{
    		if(strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']),$bots[$i]) !== FALSE) 
    		{
    			return TRUE;
    		}
    	}
    	return FALSE;
    }
    
    // Utilisation
    if(is_bot() == TRUE) // On vérifie que le spider est bien en ligne
    {
    	// LOG dans spider.txt
    	$ip = $_SERVER['REMOTE_ADDR'];
    	$agent = $_SERVER['HTTP_USER_AGENT'];
        $url_google = $_SERVER["SCRIPT_NAME"];
    	
        if ($_SERVER["QUERY_STRING"] != "")
            $url_google .= "?".$_SERVER["QUERY_STRING"];
        $f = fopen("spider.txt","a");
        fputs($f, "[ date : ".date("j-m-Y H:i")." | user_agent : $agent | ip : $ip ] : [ http://$HTTP_HOST"."$url_google ]".PHP_EOL);
        fclose($f);
    }
    Insérer ce code en bas de votre pas index et attendez quelques jours, ensuite ouvrez la page spider.txt à la racine de votre site, vous y trouverez un log (date, user-agent, ip, page demander) des spiders qui ont visitez votre site.

    Donc supposons que vous avez constitué une liste d'exception pour vos spiders.

    Ouvrez votre htaccess est coller y ceci:

    Correspond à code pays à interdire

    Correspond au ip des spiders autorisé (les ip ci-dessus sont ceux qui fréquente mon site tout les jours)

    Si aucune des ip correspond et que ip fait parti du code pays alors on block

    Si vous souhaitez tester si ça fonctionne chez vous, ajouter le code pays FR et connectez vous à votre site. Si vous êtes bien bloquer alors parfait, ensuite rajouter votre ip comme exception ex: Allow from 11.222.333.444 et réessayer, si vous avait accès c'est que tout fonctionne.

    Oubliez pas de retirer le code pays FR après votre test.

    Une autre technique à venir ...
     
  46. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    206
    J'aime reçus:
    0
    Nouvelle version.

    On part toujours sur la même idée (bloquer des pays dont US sauf les ip des spider) mais en les redirigeant vers un page spécifique.

    Code:
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^SN|NE|NG|CG|DE|CI|BJ|RU|CN|RU|US|EN|CA|KR$ 
    RewriteCond %{REMOTE_ADDR} !^(66\.249\.65.\202|207\.46\.13\.46|66\.249\.71\.237|67\.195\.112\.122|67\.195\.111\.170)$ 
    RewriteRule ^(.*)$ ma_page.php [L] 

    Code:
    RewriteCond %{REMOTE_ADDR} !^(66\.249\.65.\202|207\.46\.13\.46|66\.249\.71\.237|67\.195\.112\.122|67\.195\.111\.170)$
    Les ip des spiders, ont concatène pour plus de clarté

    Code:
    RewriteRule ^(.*)$ ma_page.php [L]
    On redirige

    merci à julp pour l'élaboration ...

    A venir une autre méthode ... ;)
     
  47. leseeb22
    leseeb22 Nouveau WRInaute
    Inscrit:
    27 Février 2005
    Messages:
    14
    J'aime reçus:
    0
    Pire -- > [ Autoriser uniquement la france ]

    Bonjour et merci beaucoup pour ce post
    J'étais en train de me poser la question

    Je souhaiterais autoriser l'acces uniquement au francais

    Est ce possible par httacess en 3 lignes?
    - L ip, la geo + tous les proxies?

    Deuxième question ( deplus on est sur le wri )

    - Est ce que cela peut nuire au référencement ?

    Si oui , y'a t'il possibilité en une ligne de plus de laisser passer complètement notre ami google?

    En tout cas merci pour vos réponses

    (
    Pour ceux qui pense que cela nuit à la liberté de surf pour les autres pays :
    A-
    1 - Mon site est en francais
    2 - Je n' expédie que en france
    3 - Je n'accepte que les paiement francais d'ip francaise fait en france par un francais avec une banque francaise (3DSECURE)

    Donc pour ne pas faire perdre du temp a mes amis etranger autant qu'il ne vienne même pas
    B-
    Il faut penser aussi à ma liberté de publication lol

    Evidemment c'est une blague ( mais c'est vrai ) mdr lol

    D’ailleurs si cela marche je vais l'appliquer a tous mes sites et notamment a ceux de mes clients
    Cela m'évitera beaucoup de soucis ainsi que à mes clients

    C- Pour ceux qui vont me conseiller de bloquer tous le monde
    J'y est déja pensé mais c pas la méthode choisie

    D- Si je voulais vendre en cote d'ivoire

    Je proposerais un abonnement proxies francais EVIDEMENT
    par contre je serais bien embêté pour choisir le paiement sécurisé...

    lol
    Merci a tous
    ++
    seeb
     
  48. leseeb22
    leseeb22 Nouveau WRInaute
    Inscrit:
    27 Février 2005
    Messages:
    14
    J'aime reçus:
    0
    Re: Pire -- > [ Autoriser uniquement la france ]

    SetEnvIf GEOIP_COUNTRY_CODE FR AllowCountry
    Deny from all
    Allow from env=AllowCountry
     
  49. danielmarseille
    danielmarseille Nouveau WRInaute
    Inscrit:
    10 Février 2009
    Messages:
    9
    J'aime reçus:
    0
    Bonjour

    Vous bloquer les adresses IP qui commence par 81 !!!!

    Vous allez bloquer les IP parisiennes exemple cette IP 81.64.252.147

    Daniel
     
  50. tishop
    tishop Nouveau WRInaute
    Inscrit:
    15 Mai 2016
    Messages:
    6
    J'aime reçus:
    0
    bonjour
    suite à ton topic
    j'avais mis ça mis dans mon fichier ht access ce code il y a quelques semaine
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^BG|RO|RU|NE|SN|NG|BJ|CI$
    RewriteRule .* - [F]
    </IfModule>

    et apparemment j'ai toujours autant de russes et de roumains qui se connecte a on site

    est ce que c'est du au fait que j'ai mis ça directement dans le fichier ht. access que de le copier dans un autre fichier

    merci stephane
     
Chargement...
Similar Threads - [Astuce] Bannir escrocs Forum Date
[astuce] pour afficher les numéros dans les résultats de Google Référencement Google 27 Juin 2017
[astuce] ajouter un bouton Suivre au widget Twitter Twitter 7 Juillet 2012
[Astuce]Comment gagner des liens? Débuter en référencement 28 Janvier 2012
[Astuce] Sous IE, virer la barre d'outils sur les images YouTube, Google Images et Google Maps 4 Décembre 2007
Faire bannir vos concurrents non conformes RGPD d'Adsense AdSense 6 Juillet 2018
Comment diminuer l'intêret de ses pages sans pour autant les bannir. Référencement Google 30 Mars 2016
Articles de blog à bannir ? Netlinking, backlinks, liens et redirections 14 Décembre 2013
bannir tout referer vide sauf pour un domaine partenaire URL Rewriting et .htaccess 27 Février 2013
Bannir Referer, tiret dans nom domaine, et sous-domaine URL Rewriting et .htaccess 19 Août 2012
Demander à Google de bannir un site sans accès FTP Crawl et indexation Google, sitemaps 24 Août 2011
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice