php 实现防盗链,php中如何实现防盗链的示例
这篇文章主要介绍了PHP实现防盗链的方法,结合实例形式分析了php防盗链所涉及的相关技术与具体实现技巧,需要的朋友可以参考下
本文实例讲述了PHP实现防盗链的方法。分享给大家供大家参考,具体如下:
$_SERVER['HTTP_REFERER']的获取情况
注意 $_SERVER['HTTP_REFERER'] 并不一定总能获取到,只有在以下情况下才能获取到:
一、能够取到HTTP_REFERER的情况为以下几种:
1.直接用
2.用Submit或提交的表单(POST or GET)
3.使用Jscript提交的表单(POST or GET)
二、不能取到的情况有以下几种:
1.从收藏夹链接
2.单击”主页”或者自定义的地址
3.利用Jscript的location.href or location.replace()
4.在浏览器直接输入地址
5.
6.或转向
7.用XML加载地址
strrpos函数讲解:
strrpos — 计算指定字符串在目标字符串中最后一次出现的位置
说明
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )返回字符串 $haystack 中 needle 最后一次出现的数字位置。$haystack在此字符串中进行查找。
$needle如果 needle不是一个字符串,它将被转换为整型并被视为字符的顺序值。
返回值
返回 needle 存在的位置。如果没有找到,返回 FALSE。
盗链判断代码:asd.php
//防盗链技术
//先判断是否获取到 $_SERVER['HTTP_REFERER'] 变量
if(isset($_SERVER['HTTP_REFERER'])){
//判断$_SERVER['HTTP_REFERER']是不是以http://localhost/开始的
if(strpos($_SERVER['HTTP_REFERER'],"http://localhost")==0){
echo '';
}
else{
header("Location:warning.php");//跳转页面到warning.php
//echo $_SERVER["HTTP_REFERER"];
}
}
else {
header("Location:warning.php");
}
?>
warning.php
倒链
防盗链验证代码
Insert title here
验证防盗链
上面是理解原理
一般通过配置服务器防盗链,如nginx配置访问
(gif|jpg|jpeg|png|bmp|swf)等文件的白名单
php 实现防盗链,php中如何实现防盗链的示例相关推荐
- Ardor公链生态与Jelurida产业区块链布局
Ardor公链 Ardor公链(ARDR)基于NXT公链,并于2018年1月1日推出了多链架构,旨在克服单链本质上的局限性.根据Ardor平台的白皮书,其主要目标是: 解决最终用户必须拥有作为手续费( ...
- 1分钟链圈 | 马化腾:大湾区可挖掘更多的区块链应用场景,比如区块链电子发票...
Hi,艾瑞巴蒂! 这里是 9 月 6 日的每日1句话新闻晚报,只需1分钟,看看全球最热.最新的区块链新闻. 实时币价:BTC $6426.80 ETH $228.73 EOS $5.04( ...
- 区块链应用 | 泡沫之下的区块链
过去两周,从广东中山到泰国曼谷.再到美国硅谷,基石投资人郭宏才在太平洋上飞出了一个大大的对勾,寻找国内外优质的区块链项目.硅谷电线杆上满眼的区块链信息,都刺激着这位中国知名的区块链投资人.他计划在20 ...
- 第一届区块链技术及应用峰会“区块链核心技术”分论坛预告大放送
技术苍穹,迭代未休,区块链技术乘破竹之势而来,已然问鼎2018年技术圈开年"关键词Top榜".当爆炸式的知识需求,遇上业内资源捉襟见肘的困窘现状,区块链技术及应用峰会(BTA)·中 ...
- Javascript中闭包的作用域链
作用域定义了在当前上下文中能够被访问到的成员,在Javascript中分为全局作用域和函数作用域,通过函数嵌套可以实现嵌套作用域. 闭包一般发生在嵌套作用域中.闭包是JavaScript最强大的特性之 ...
- MySQL buffer pool中的三种链
三种page.三种list.LRU控制调优 一.innodb buffer pool中的三种页 1.free page:从未用过的页 2.clean page:干净的页,数据页的数据和磁盘一致 3.d ...
- 设计模式在Netty中的应用-责任链模式源码举例
责任链:是指多个对象都有机会处理同一个请求,从而避免请求的发送者和接收者之间的耦合关系.然后,将这些对象连成一条链,并且沿着这条链往下传递请求,直到有一个对象可以处理它为止.在每个对象处理过程中,每个 ...
- php判断外链,php检查字符串中是否有外链的方法
这篇文章主要介绍了php检查字符串中是否有外链的方法,涉及php针对字符串的正则匹配的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了php检查字符串中是否有外链的方法.分享给大家 ...
- IOS中的事件响应链,事件冒泡机制基本了解
本文主要讲解IOS中事件响应链,即事件冒泡机制.做过web开发的同学应该知道js事件冒泡是从主响应元素一层一层的向父级冒泡事件,在ios亦是如此,但是不同是ios中,如果冒泡链中有一方对事件进行响应处 ...
最新文章
- php 简单的存在 (方法之间的神奇作用:容错)
- php中var_dump()函数
- matlab padarray函数详解
- oracle删除本地文件权限,使用 UNIX 权限保护文件
- isatty_带有示例的Python File isatty()方法
- 前端学习(1156):let var const的区别
- js设置全局变量ajax中赋值
- gta5显示nat较为严格_为何严格治理下雾霾天仍频发?哈尔滨市环保局解答重污染天3大疑问...
- 【精彩实况】第三届大数据科学与工程国际会议
- vue.js2.0 java_详解vite2.0配置学习(typescript版本)
- 【原】jQuery easyUI 快速搭建前端框架
- 使用js切割URL的参数
- Yeah,我的Pygame安装成功了!(Windows Pygame 安装教程)
- 【课程·研】工程伦理学 | 课堂汇报:个性化推荐技术的伦理学——以平台广告精准投放事件为例
- echarts 折线图
- Schema for type Unit is not supported
- js将文件大小字节转换成B,KB,MB,GB,TB方法
- 香农编码的C++实现及求平均码长和编码效率
- 如何判断一个文件是否为PE文件
- Procreate闪闪的神仙笔刷合集,IPad绘画必备
热门文章
- “近一个月”、“近三个月”这种查询如何处理更精确?
- 登月源码登顶 GitHub Top1,37000 Star 致敬人类登月 50 周年!
- AI 时代,中国技术创新如何弯道超车?
- 人工智能为什么要从本科生抓起?
- 微信小游戏凭什么拿走开发者 70% 的日流水?
- Android 爆发病毒,华米 OV 均受影响;微信宣战百度搜索;抖音遭约谈 | CSDN极客头条...
- 僵尸 AI 来了,人类该怎么办?
- 什么情况下不应该使用深度学习?
- Android热修复更改图标,Android手写热修复(一)--ClassLoader
- 字节跳动高工面试:mysql索引视频教程