PHP中HTTP防盗链技术
时间:2022-04-22
本文章向大家介绍PHP中HTTP防盗链技术,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。
其实说白了就是我自己网站上不挂东西,直接从你的网站远程访问,这样一来节约了自己的空间,而来很多东西可以直接用别人的。比如你看到一篇好的文章直接复制到自己博客,可能不小心把a链接也复制过来了,然后你的文章就指向别人的网站,继续这篇文章调用别人网站的资源。
http防止盗链技术,利用http的全局函数 $_SERVER['HTTP_REFERER']参数来判断。
其中 $_SERVER为全局函数,包含很多常用数据 $_SERVER['HTTP_REFERER'] 为转调过来网站地址
再利用字符串函数 strops 返回字符串在另一字符串中首次出现的位置(对大小写敏感)
然后 strops( $_SERVER['HTTP_REFERER'] ,'http://www.ilkhome.cn');
具体的函数为:
//判断是否有转调过来的url
if(isset( $_SERVER['HTTP_REFERER'] )){
//如果没有转调的url HTTP_REFERER为空
if( strops( $_SERVER['HTTP_REFERER'] ,'http://www.ilkhome.cn) ){
header('Location:ok.php'); //如果是本网站连接
}else{
header('Location:err.php'); // 如果不是本网站连接 转调到错误页面
}
}else{
header('Location:err.php'); // 如果路径为空则认为不合法
}
屏蔽除了自己网站之外的其他链接访问网站资源,这样可以保护好自己的流量和资源。
可能其实写的有点问题,有问题欢迎指出。
- 【Java学习笔记之十七】Java中普通代码块,构造代码块,静态代码块区别及代码示例分析
- 【机器学习笔记之六】Bagging 简述
- 洛谷 P1553 数字反转(升级版)【字符串+STL stack】
- C# 实现发送手机短信
- 软件测试人员必须掌握的Linux基本命令
- 【机器学习笔记之五】用ARIMA模型做需求预测用ARIMA模型做需求预测
- Capturing Packets in Linux at a Speed of Millions of PPS
- 【机器学习笔记之四】Adaboost 算法
- 【Java学习笔记之十九】super在Java继承中的用法小结
- 【Java学习笔记之二十一】抽象类在Java继承中的用法小结
- 【Java学习笔记之二十】final关键字在Java继承中的用法小结
- 基于Windows下python环境变量配置
- 【机器学习笔记之七】PCA 的数学原理和可视化效果
- 2017"百度之星"程序设计大赛 - 复赛1005&&HDU 6148 Valley Numer【数位dp】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CSS盒子模型
- SQL注入
- CSS实现垂直居中布局
- Js实现链表操作
- 性能优化漫谈(一):无代码调优
- C++职责链模式
- Newbe.Claptrap 框架入门,第四步 —— 利用 Minion,商品下单
- 使用 NextCloud + COS 搭建个人网盘
- Shader基础技巧整理
- 隐秘的物理粒子系统与渲染 !Cocos Creator LiquidFun !
- 一起用Gradle Transform API + ASM完成代码织入呀~
- 掩盖浏览痕迹不会被发现的方法【逗】
- webpack实战——样式预处理
- 前端防止浏览器访问旧版 js 和 css 的优化思路
- 少数派实测报告:AI巨无霸模型GPT-3 | 附送API 调用方法「AI核心算法」