[php]referer应用--http防盗链技术

1、防盗链的理解

所谓防盗链是防止其他的网站引用自己网站的资源连接,比如图片、视频等等,但是并不会阻碍从自己网站上享受资源的用户,这就要求能够将其他网站的连接请求阻止

2、防盗链的原理

其实从自己网站使用资源的时候不是由浏览器直接请求资源的,肯定是通过在自己网站上点击,然后从这个页面跳转到资源,无论怎么样,用户是通过自己的网站页面作为中介来访问资源,就类似通过类中定义的方法来访问受保护的变量一样,因此在发向服务器的http请求中就有一个字段为referer用来表明来源于何处,假如是从自己网站发出的就放行,否则就禁止,因此达到防盗链的目的。

3、代码:

<?php

    $str = $_SERVER[‘HTTP_REFERER‘];//$_SERVER可以提取http协议请求
    echo $str."<br/>";
    if(strpos($str, "http://localhost")===0)//strpos用于判断某字符串在另一字符串中的位置
        echo "permit";
    else
        echo "no permit!";

?>
时间: 2024-12-22 13:27:27

[php]referer应用--http防盗链技术的相关文章

http请求详解,防盗链技术_韩顺平PHP视频听课笔记

韩顺平PHP视频听课笔记 第84讲 http请求详解,防盗链技术 1,  通过httpwatch插件来抓取http请求内容 2,  http1.0短连接, http1.1长连接 http1.0短连接:每次通信时间很短,效率极低,已被废除. http1.1长连接:通话时间长.只要现在基本都采用http1.1. 只要Connection的状态为keep-alive,就说明是通话状态 3,  http是tcp/ip协议的一个应用层协议,http也是我们web开发的基础. 4,  一个问题:看一个tes

php防盗链技术

在Http协议中,头信息里,有一个重要的选项: Referer Referer: 代表网页的来源,即上一页的地址 如果是直接在浏览器上输入地址,回来进来,则没有Referer头. 这也是: 为什么服务器知道我们的图片是从哪儿引用的,也知道我们的客户从哪个网站链接点击过来的. 问题: 如何配置apache服务器,用于图片防盗链? 原理: 在web服务器层面,根据http协议的referer头信息,来判断. 如果来自站外,则统一重写到一个很小的防盗链提醒图片上去. 具体步骤: 1:打开apache 

php笔记05:http协议中防盗链技术

倘若我们自己在电脑上写了一个网站文件(可以是html,php文件等等),但是只希望本机可以访问这个文件,不希望别的电脑访问就需要这里的防盗链技术 1.我们在本地写了一个import.php文件: 而且这里import.php文件的内容是如下: <?php //没有防止 //获取REFERER if(isset($_SERVER['HTTP_REFERER'])){ //取出来 //判断 $_SERVER['HTTP_REFERER']是不是以http://localhost/http开始,这里涉

防盗链技术终极解决方案(squid+cookie)

防盗链技术现状:1.通过识别Referer确认请求来源页面2.Apache,squid等都能对Referer进行识别3.通过ActiveX显示的内容不向服务器提供Referer Header(例如,Flash,WindowsMedia视频等)4.流媒体的RTSP协议也不向服务器提供Referer Header5.通过服务器端程序代码实现防盗链应用现状:1.对图片.HTML等可以实现防盗链2.无法对Flash,WindowsMedia视频(MMS,RTSP)实现防盗链3.服务器端程序代码实现的防盗

HTTP 笔记与总结(6)referer 头与防盗链

在百度贴吧(或 QQ 空间等)中找到一张图片,复制图片地址,在站外通过 img src 引用,会发现: 此外,在一些统计软件中,统计访客的来路(直接访问.外部链接.搜索引擎),都用到了 HTTP 协议请求头中 Referer 的知识. [例]直接访问 www.baidu.com 和 在通过本地页面跳转至 www.baidu.com,观察 HTTP 请求头信息的差异: ① 直接访问百度,HTTP 请求头信息: ② 通过本地 referer.html 跳转至 www.baidu.com: HTTP

05 referer头与防盗链

像上图中的这个效果,当我们在网页里引用站外图片时,常出现这样的情况. ??? 服务器是怎么样知道,这个图片是在站外被引用的呢? 还有在网站的统计结果,统计用户从何而来,如下图 ??? 统计时,是如何得知用户从哪儿来到的本网站呢? 在Http协议中,头信息里,有一个重要的选项: Referer Referer: 代表网页的来源,即上一页的地址 如果是直接在浏览器上输入地址,回来进来,则没有Referer头. 这也是: 为什么服务器知道我们的图片是从哪儿引用的,也知道我们的客户从哪个网站链接点击过来

简单的防盗链技术(过滤器原理)

public class ImgFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { System.out.println("过滤器初始化..."); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws

php破解防盗链技术

发送http请求 构造referer信息 在Http协议中,头信息里,有一个重要的选项: Referer Referer: 代表网页的来源,即上一页的地址 具体方法http.class.php // http请求类的接口 interface Proto { // 连接url function conn($url); //发送get查询 function get(); // 发送post查询 function post(); // 关闭连接 function close(); } class Ht

谈谈网站的防盗链(Filter过滤器)

导语:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有“此图片仅限于***网站用户交流沟通使用”之类的“假图片”(下图便是网易博客的防盗链效果).用嗅探软件找到了多媒体资源的真实地址用下载软件仍然不能下载.下载一些资源时总是出错,如果确认地址没错的话,大多数情况都是遇上防盗链系统了.常见的防盗链系统,一般使用在图片.音视频.软件等相关的资源上. 一.什么是防盗链系统:         在确保地址正确的情况下,不能下载相应的资源,均是受到防盗链系统的影响,那么究竟什么是防盗链系统呢?防