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 s'y référer
Les exemples de cet article décrivent comment empêcher les hotlinking en PHP. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
$_SERVER['HTTP_REFERER']
état d'acquisition
Notez que $_SERVER['HTTP_REFERER'] peut ne pas toujours être obtenu. Il ne peut être obtenu que dans les circonstances suivantes :
1. Les circonstances dans lesquelles HTTP_REFERER peut être obtenu sont les suivantes :
1. Utilisez directement
2. Formulaire soumis avec Soumettre ou (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 rediriger vers
7. Utilisez XML pour charger l'adresse
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 chaîne $botte 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
<?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éhension
Gé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 des autres fichiers
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!