Table des matières
Recommandations associées :
Maison développement back-end tutoriel php Explication détaillée d'exemples de méthodes pour empêcher les hotlinking en PHP

Explication détaillée d'exemples de méthodes pour empêcher les hotlinking en PHP

May 19, 2018 am 09:24 AM
php 实例 详解

Cet article présente principalement la méthode d'anti-hotlinking en PHP, et analyse les technologies associées et les techniques de mise en œuvre spécifiques impliquées dans l'anti-hotlinking PHP sous forme d'exemples. Les amis dans le besoin peuvent se référer à

Le. les détails sont les suivants :

$_SERVER['HTTP_REFERER'] statut d'acquisition

Remarque $_SERVER['HTTP_REFERER'] ne peut pas toujours être obtenu Il ne peut être obtenu que sous les conditions suivantes. circonstances :

1. Les situations dans lesquelles HTTP_REFERER peut être obtenu sont les suivantes :

1. Utilisez directement <a href>
2. Formulaire soumis avec Soumettre ou <input type=image> (POST ou GET)
3. Formulaires soumis en utilisant Jscript (POST ou GET)

2. Les situations suivantes ne peuvent pas être obtenues :

1. Lien des favoris
2. Cliquez sur "Accueil" ou sur l'adresse personnalisée
3. Utilisez location.href ou location.replace()
4 de Jscript. Saisissez l'adresse directement dans le navigateur
5. <%Response.Redirect%>
6. <%Response.AddHeader%> ou <meta http-equiv=refresh> rediriger vers
7. Charger l'adresse avec XML

strrpos Explication de la fonction :

strrpos — Calcule la position de la dernière occurrence de la chaîne spécifiée dans la chaîne cible

Explication

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )<code>int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )<br>Renvoie la position numérique de la dernière occurrence de l'aiguille dans la chaîne $ meule de foin.

$haystack 在此字符串中进行查找。
$needle 如果 needle不是一个字符串,它将被转换为整型并被视为字符的顺序值。

Valeur de retour

Renvoie la position où l'aiguille existe. S'il n'est pas trouvé, renvoie FALSE.

Code de détection de lien chaud : asd.php

&lt;?php
//防盗链技术
//先判断是否获取到 $_SERVER[&#39;HTTP_REFERER&#39;] 变量
if(isset($_SERVER[&#39;HTTP_REFERER&#39;])){
  //判断$_SERVER[&#39;HTTP_REFERER&#39;]是不是以http://localhost/开始的
  if(strpos($_SERVER[&#39;HTTP_REFERER&#39;],&quot;http://localhost&quot;)==0){
    echo &#39;&lt;img src=&quot;a.png&quot;/&gt;&#39;;
  }
  else{
    header(&quot;Location:warning.php&quot;);//跳转页面到warning.php
    //echo $_SERVER[&quot;HTTP_REFERER&quot;];
  }
}
else {
  header(&quot;Location:warning.php&quot;);
}
?&gt;
Copier après la connexion

warning.php

&lt;html&gt;
&lt;b&gt;倒链&lt;/b&gt;
&lt;/html&gt;
Copier après la connexion

Code de vérification anti-hotlink

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Insert title here&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;http://localhost/wml/asd.php&quot; rel=&quot;external nofollow&quot; &gt;验证防盗链&lt;/a&gt;
&lt;/body&gt;
&lt;/html&gt;
Copier après la connexion

Ce qui précède est pour comprendre le principe

Généralement, en configurant le serveur pour empêcher les hotlinking, comme l'accès à la configuration nginx

(gif|jpg|jpeg|png|bmp|swf) et la liste blanche d'autres fichiers

Le une configuration spécifique peut être recherchée sur Baidu

Recommandations associées :

NginxAnti-hotlinking et contrôle d'accès Nginx et configuration php d'analyse Nginx

Comment implémenter PHPAnti-hotlinkingExplication détaillée

php crack Anti-hotlinking

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 de ce site Web
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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Date et heure de CakePHP

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Téléchargement de fichiers CakePHP

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Routage CakePHP

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Configuration du projet CakePHP

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

Discuter de CakePHP

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

Guide rapide CakePHP

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Comment configurer Visual Studio Code (VS Code) pour le développement PHP

See all articles