"Tutoriel vidéo sur le protocole HTTP PHP" vous amènera à apprendre le protocole HTTP en PHP, à maîtriser les requêtes interactives http, telles que les requêtes de publication et d'obtention, et à utiliser le code pour implémenter les requêtes de publication et d'obtention courantes, ainsi que l'anti- sangsue et inverser les applications avancées telles que Ajax.
Adresse de lecture du cours : http://www.php.cn/course/411.html
Le style d'enseignement du professeur :
Les cours du professeur sont vivants, pleins d'esprit, pleins d'esprit et touchants. Une métaphore vivante est comme la touche finale, ouvrant la porte à la sagesse aux étudiants ; un humour bien placé apporte un sourire entendu aux étudiants, comme boire un verre de vin moelleux, donnant aux gens un arrière-goût et une nostalgie des aphorismes d'un philosophe, des références culturelles. sont intercalés de temps en temps dans la narration, donnant aux gens réflexion et vigilance.
Le point le plus difficile dans cette vidéo est d'empêcher le hotlinking http :
Utilisez le protocole HTTP. Utilisez le référent pour empêcher les hotlinking (il n'est pas nécessaire qu'il soit écrit en PHP, mais il est possible de le contrôler au niveau du serveur)
Lorsque nous accédons à des images en dehors du site sur la page Web, les images peuvent être vues sur le site, mais pas à l'extérieur, j'ai vu
à cause de l'élément referer dans les informations d'en-tête.
De plus, lorsque nous effectuons des statistiques,
nous pouvons compter où et quand les utilisateurs accèdent au site Web. Par exemple, lorsque Tencent analyse le site Web
pour obtenir des statistiques, il s'appuie sur la connaissance de l'endroit où les utilisateurs accèdent au site Web
Dans le protocole HTTP, il existe une option référent très importante dans les informations d'en-tête, qui est représenté par referer
referer C'est la source de la page Web et l'adresse de la page précédente
Si vous entrez l'adresse directement dans le navigateur et entrez sur le site Web, il n'y aura aucune information d'en-tête de référent
Ainsi, le serveur peut savoir de quel site Web l'utilisateur provient en fonction du référent Le site Web entrant et de quel site Web provient l'image
Les étapes spécifiques pour utiliser les informations d'en-tête du référent pour mettre en place l'anti-hotlinking sont les suivants :
/** 如何配置apache服务器。用于图片防盗链(使用url重写) 在web服务器层面,我们可以在http协议的referer头信息来判断, 如果来自站外,则统一重写到一个很小的防盗链提醒图片上去 步骤: 1.打开 apache 重写模块 mod_rewrite (D:\wamp\bin\apache\apache2.4.9\conf) #LoadModule rewrite_module modules/mod_rewrite.so 把#去掉,重启apache 2.在需要防盗的网站或者目录下,写 .htaccess 文件(windows下不能直接创建,可以另存) 并指定防盗链规则 分析referer信息,如果不是来自本站,则重写 **/ 重写规则 .htaccess 文件 1.哪种情况重写规则 是jpeg/gif/png图片的时候 是referer头与localhost不匹配的时候 2.怎么重写 统一 rewrite 到某个防盗链图片上 RewriteEngine On //只是在改页面下生效 Rewrite Base /HTTPxieyi/day1 //会对以下格式的文件进行重写规则 RewriteCond %{REQUEST_FILENAME} .*\.(jpg|jpeg|gif|png) [NC] //如果不是来自localhost的用户,会重写 RewriteCond %{HTTP_REFERER} !localhost [NC] //会重写到自学it网的logo上 RewriteRule .* http://www.zixue.it/static/image/common/zixuelogo.png
html Le code spécifique est le suivant
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片的防盗链</title> </head> <body> <p> <img src="http://imgsrc.baidu.com/forum/w%3D580%3B/sign=5547962a02d162d985ee621421e4a8ec/0d338744ebf81a4c06403427df2a6059242da6ea.jpg" alt=""> <img src="./bb.jpg" alt=""> <img src="./aa.jpg" alt=""> </p> </body> </html>
Le code spécifique pour la prévention anti-hotlink est comme suit :
<?php /** 反防盗链 ****/ require('./07.class.php'); $http = new Http('http://localhost/HTTPxieyi/day1/bb.jpg'); //如果没有加以下这句话,就会显示盗链 //加上referer就会告诉浏览器,我是来自localhost的,不是来自其他网站的,你不用防我 $http->setHeader('Referer: http://localhost'); $res = $http->get(); //aaa.显示的倒链 //file_put_contents('./aaa.jpg',substr(strstr($res,"\r\n\r\n"),4)); file_put_contents('./bbb.jpg',substr(strstr($res,"\r\n\r\n"),4)); //应该在判断路径或者response的mime头信息,确定图片的类型
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!