php简单防盗链实现方法


Posted in PHP onJuly 29, 2015

本文实例讲述了php简单防盗链实现方法。分享给大家供大家参考。具体如下:

<?php
$ADMIN = array(
  'defaulturl'=> 'http://blog.qita.in/images/banner-header.gif',
  //盗链返回的地址
  'url_1'   => 'http://blog.qita.in/file',
  'url_2'   => 'http://blog.qita.in/file1',
);
$okaysites = array(
 'http://qita.in',
  'http://blog.qita.in', //白名单
  'http://blog.qita.in/1.html',
);
$reffer = $_SERVER['HTTP_REFERER'];
if ($reffer) {
  $yes = 0;
  while (list($domain, $subarray) = each($okaysites)) {
    if (ereg($subarray, "$reffer")) {
      $yes = 1;
    }
  }
  $theu = 'url_' . $_GET['site'];
  $file = $_GET['file'];
  if ($ADMIN[$theu] and $yes == 1) {
  header("Location: $ADMIN[$theu]/$file");
  } else {
    header("Location: $ADMIN[defaulturl]");
  }
} else {
  header("Location: $ADMIN[defaulturl]");
}
print_r($_SERVER['HTTP_REFERER']);
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP安全编程之加密功能
Oct 09 PHP
oracle资料库函式库
Oct 09 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
php获取汉字首字母的函数
Nov 07 PHP
php递归使用示例(php递归函数)
Feb 14 PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
摘自织梦CMS的HTTP文件下载类
Aug 08 PHP
php实现购物车产品删除功能(2)
Jul 23 PHP
PHP中时间加减函数strtotime用法分析
Apr 26 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
PHP使用QR Code生成二维码实例
Jul 07 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 #PHP
php实现过滤字符串中的中文和数字实例
Jul 29 #PHP
php实现XSS安全过滤的方法
Jul 29 #PHP
php检查字符串中是否有外链的方法
Jul 29 #PHP
php数组比较实现查找连续数的方法
Jul 29 #PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 #PHP
PHP获取某个月最大天数(最后一天)的方法
Jul 29 #PHP
You might like
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
jQuery实现立体式数字动态增加(animate方法)
2016/12/21 Javascript
laydate日历控件使用方法详解
2017/11/20 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
Vue设置长时间未操作登录自动到期返回登录页
2020/01/22 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
Python基于递归算法求最小公倍数和最大公约数示例
2018/07/27 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
python实现五子棋小游戏
2020/03/25 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
简单了解python代码优化小技巧
2019/07/08 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
体育课外活动总结
2014/07/08 职场文书
店长岗位职责
2015/02/11 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL