Maison  >  Article  >  développement back-end  >  Comment désactiver l'accès proxy en php5

Comment désactiver l'accès proxy en php5

PHPz
PHPzoriginal
2023-03-29 10:11:28518parcourir

PHP5 Ban Proxy Access

Un serveur proxy est un outil qui permet aux utilisateurs d'éviter de se connecter directement à un site Web cible. Bien que les serveurs proxy puissent être très utiles dans certaines situations, ils peuvent également donner lieu à des abus. De nombreux utilisateurs malveillants utilisent des serveurs proxy pour cacher leurs véritables adresses IP à la menace du suivi en ligne. Cet abus peut constituer une menace pour la sécurité et la fiabilité du site, c'est pourquoi de nombreux administrateurs de sites Web n'autorisent pas les serveurs proxy à accéder à leurs sites. Dans cet article, nous expliquerons comment désactiver l'accès au serveur proxy en PHP5.

Pourquoi interdire l'accès aux proxy ?

Il existe plusieurs raisons pour lesquelles vous devez interdire aux serveurs proxy d'accéder aux sites Web. Voici quelques-unes des raisons :

  1. Cybersécurité. De nombreux serveurs proxy sont utilisés pour des attaques de piratage, de vol de données et de phishing. Par conséquent, ne pas autoriser les serveurs proxy à accéder à votre site Web peut rendre votre site Web plus sécurisé.
  2. Prévenez le spam. Les utilisateurs malveillants peuvent utiliser des serveurs proxy pour envoyer du spam. La désactivation de l'accès au serveur proxy peut réduire la quantité de spam reçu par votre site Web.
  3. Maintenir l'intégrité des données. Les serveurs proxy peuvent mettre en cache les données, ce qui signifie que les données affichées sur un site Web peuvent provenir de plusieurs sources. Le blocage de l'accès au serveur proxy garantit l'intégrité des données et rend le site Web plus fiable.

Comment désactiver l'accès proxy ?

Nous utiliserons PHP5 pour écrire du code permettant de désactiver l'accès au serveur proxy. Voici le code complet :

if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
  $ip_address = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
  $ip_address = $_SERVER['REMOTE_ADDR'];
}

$proxy_headers = array(
    'HTTP_VIA',
    'HTTP_X_FORWARDED_FOR',
    'HTTP_FORWARDED_FOR',
    'HTTP_X_FORWARDED',
    'HTTP_FORWARDED',
    'HTTP_CLIENT_IP',
    'HTTP_FORWARDED_FOR_IP',
    'VIA',
    'X_FORWARDED_FOR',
    'FORWARDED_FOR',
    'X_FORWARDED',
    'FORWARDED',
    'CLIENT_IP',
    'FORWARDED_FOR_IP',
    'HTTP_PROXY_CONNECTION'
);

foreach ($proxy_headers as $header) {
  if (array_key_exists($header, $_SERVER) && !empty($_SERVER[$header])) {
    header('HTTP/1.0 403 Forbidden');
    exit();
  }
}

Le code ci-dessus obtiendra l'adresse IP du visiteur et vérifiera s'il existe des informations relatives au serveur proxy dans l'en-tête HTTP. S'il est présent, définissez le code de réponse HTTP sur 403 Forbidden et quittez le script.

Résumé

Dans cet article, nous avons présenté comment désactiver l'accès au serveur proxy en PHP5. Nous avons mentionné plusieurs raisons pour lesquelles la sécurité et la fiabilité du site Web peuvent être compromises. Enfin, nous fournissons un morceau de code PHP qui peut vérifier les informations d'en-tête HTTP et désactiver l'accès au serveur proxy. Si vous êtes un développeur PHP et que vous rencontrez des problèmes liés aux serveurs proxy, cet article devrait vous être utile !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn