php简单防盗链实现方法

yipeiwu_com7年前PHP代码库

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

<?php
$ADMIN = array(
  'defaulturl'=> '/zb_users/upload/202003/fy4db2ovh1y.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用wangeditor3实现图片上传功能

php用wangeditor3实现图片上传功能

就在最近,公司让我写一个后台,其中用到了富文本编辑器。自从这个富文本的出现 我就慢慢的进入了一个坑,起初不知道用什么编辑器好,看了好多好多,最后选择了。这个 wang...

PHP中的命名空间相关概念浅析

1. PHP中的命名空间是什么? 什么是命名空间?“从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文...

php画图实例

php画图实例

本文实例讲述了php画图的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:<?php  // by MoreWindows $imgWid...

PHP递归遍历指定目录的文件并统计文件数量的方法

本文实例讲述了PHP递归遍历指定目录的文件并统计文件数量的方法。分享给大家供大家参考。具体实现方法如下: <?php //递归函数实现遍历指定文件下的目录与文件数量 f...

解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory

解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory

前言 最近因为工作需要要使用PHP 7,所以从网上找教程进行安装, 结果编译没问题, 安装的时候报了错误。 错误如下 cp -pR -f phar.phar /usr/local/p...