Maison >développement back-end >tutoriel php >Explication détaillée de la façon d'empêcher les hotlinking en 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 en PHP sous forme d'exemples. J'espère que les amis dans le besoin pourront s'y référer. aider tout le monde.
$_SERVER['HTTP_REFERER']
statut d'acquisition
Notez que $_SERVER['HTTP_REFERER'] ne peut pas toujours être obtenu Il ne peut être obtenu que dans les circonstances suivantes :
1. Les situations dans lesquelles HTTP_REFERER peut être obtenu sont les suivantes :
1. Utilisez directement cfba799dd43fce78ec3e9e3d200b7e482. Formulaire soumis avec Soumettre ou 764a0a970dbc75966e734f5ea597d024 (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. c37f721670919360921ccb8afc9eb479
6. 707ab8d2056c6e1f516d2bf3c9988ff9 ou d2eacb9d552db150e90498bcd18784f7 rediriger vers
7. Charger l'adresse à l'aide de XML
Explication de la fonction : strrpos
Explication
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )<p></p>
Renvoie la position numérique de la dernière occurrence de l'aiguille dans la chaîne $ meule de foin. int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )<br>
$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<?php //防盗链技术 //先判断是否获取到 $_SERVER['HTTP_REFERER'] 变量 if(isset($_SERVER['HTTP_REFERER'])){ //判断$_SERVER['HTTP_REFERER']是不是以http://localhost/开始的 if(strpos($_SERVER['HTTP_REFERER'],"http://localhost")==0){ echo '<img src="a.png"/>'; } else{ header("Location:warning.php");//跳转页面到warning.php //echo $_SERVER["HTTP_REFERER"]; } } else { header("Location:warning.php"); } ?>warning.php
<html> <b>倒链</b> </html>Code de vérification anti-hotlink
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <a href="http://localhost/wml/asd.php" rel="external nofollow" >验证防盗链</a> </body> </html>Ce qui précède est le principe de compréhensionGénéralement, le code de protection anti-hotlink est configuré en configurant le serveur, tel que l'accès à la configuration nginx
(gif|jpg|jpeg|png|bmp|swf) Liste blanche d'autres fichiers
La configuration spécifique peut être recherchée sur BaiduRecommandations associées :Explication détaillée de la méthode anti-hotlink PHP
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!