
Les proxies ont commencé à devenir l’une des plaies d’Internet (trop d'affiliation, pas assez de transparence, beaucoup trop de marketing, des promesses creuses, des prix bas) et sont souvent utilisés par les spammeurs ou les malotrus car les proxies cachent votre adresse IP, vous permettant ainsi d’être quasiment introuvables (à prendre avec des pincettes).
Ils sont également très difficiles à interdire car il existe une quantité considérable, presque illimitée. Cependant, en utilisant le fichier .htaccess, vous pouvez bloquer toutes les connexions proxy sur votre site Web.
Sommaire
Qu'est-ce qu'un serveur proxy ?
Un serveur proxy permet à l'utilisateur de masquer son identité Internet. Si vous souhaitez que tous les visiteurs de votre site accèdent à votre site Web de manière légitime, il existe une solution simple pour bloquer les connexions des serveurs proxy avec htaccess.
Certains sites acceptent de recevoir des visiteurs d'un serveur proxy, mais de nombreux sites exigent qu'un utilisateur accède à leurs pages à partir d'une source légitime. L'interdiction d'accès via un serveur proxy ajoute une couche de sécurité supplémentaire pours votre architecture (tentatives de pénétration), mais aussi vos revenus : certaines régies pubs/affiliation n'acceptent pas les clics depuis les proxies et risque de fermer vos comptes
Le blocage de l'accès proxy est une sorte de solution "tout ou rien", car il y a certaines personnes, au travail et à l'école, sont obligées d'utiliser des serveurs proxy pour naviguer sur Internet. Par conséquent, avant de poursuivre, assurez-vous de vouloir interdire toute admission à partir de ces serveurs.
Avant de commencer ce didacticiel, assurez-vous de sauvegarder les fichiers de votre site Web et sa base de données.
Bloquer les serveurs proxy avec htaccess
Plutôt que d'essayer de bloquer les serveurs proxy via un domaine spécifiée, il est beaucoup plus rapide et efficace de bloquer les serveurs proxy en mettant simplement les divers protocoles HTTP utilisés par ces serveurs proxy sur une liste noire, il est possible de bloquer pratiquement toutes les connexions proxy.
Commencez par ouvrir votre fichier .htaccess dans le répertoire de votre site Web, généralement à la racine du site. Lorsque vous l'ouvrez, vous devez ajouter les lignes suivantes.
#Bloquer les proxies depuis votre htaccess - source : https://perishablepress.com/press/2008/04/20/how-to-block-proxy-servers-via-htaccess/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:HTTP_CLIENT_IP} !^$
RewriteRule ^(.*)$ - [F]
Pourquoi les internautes utilisent des proxys
Les écoles et les lieux publics utilisent souvent des serveurs proxys pour analyser le trafic Internet et le filtrer en fonction du contenu.
C'est une pratique assez courante, donc si vous empêchez tous les utilisateurs de naviguer avec des proxys, vous empêcherez également ces utilisateurs de naviguer sur votre site Web.
Ce n'est probablement pas le résultat escompté et il existe des moyens d'autoriser certains proxys à accéder à votre site Web.
Comment autoriser certains proxies
Autoriser un proxy à accéder à un site Web est également très facile avec le fichier .htaccess. Ouvrez-le à nouveau et ajoutez les lignes suivantes :
<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} !(.*)allowed-proxy-01.domain.tld(.*)
RewriteCond %{HTTP_REFERER} !(.*)allowed-proxy-02.domain.tld(.*)
RewriteCond %{HTTP_REFERER} !(.*)allowed-proxy-03.domain.tld(.*)
RewriteRule ^(.*)$ - [F]
</IfModule>
Veillez simplement à remplacer les trois dernières lignes par les noms des proxys que vous souhaitez autoriser sur votre site.
Vous devrez le faire pour chaque proxy autorisé à naviguer sur votre site, mais cela empêchera tout proxy que vous n'autorisiez pas d'utiliser le site.
De nombreux systèmes de gestion de contenu tels que WordPress ou Joomla ont des plug-ins et des extensions qui bloquent l'accès ou empêchent les commentaires de personnes utilisant des serveurs proxy mais très peu sont réellement fonctionnel et performants.
C'est pourquoi je vous recommande cette solution, simple, légère et facile à mettre en oeuvre.