zoukankan      html  css  js  c++  java
  • php防盗链几种代码

    1.

    1 <?php
    2  if(strpos($_SERVER['HTTP_REFERER'], 'Domin') !== FALSE) {
    3   header('HTTP/1.1 404 Not Found');
    4   exit;
    5  }
    6  readfile('xxx.mp3');
    7 ?>

    2.

     1 <?php 
     2 /** 
     3 * @author seraphim 
     4 * @copyright 2012 
     5 */ 
     6 $ADMIN = array( 
     7 'defaulturl'=> 'http://www.xx.com/images/banner-header.gif', //盗链返回的地址 
     8 'url_1' => 'http://www.xx.net/file', 
     9 'url_2' => 'http://www.xx.net/file1', 
    10 ); 
    11 $okaysites = array( 
    12 'http://box.baidu.com', 
    13 'http://tieba.baidu.com/p/1493336008', //白名单 
    14 'http://www.xx.com/1.html', 
    15 ); 
    16 $reffer = $_SERVER['HTTP_REFERER']; 
    17 if ($reffer) { 
    18 $yes = 0; 
    19 while (list($domain, $subarray) = each($okaysites)) { 
    20 if (ereg($subarray, "$reffer")) { 
    21 $yes = 1; 
    22 } 
    23 } 
    24 $theu = 'url_' . $_GET['site']; 
    25 $file = $_GET['file']; 
    26 if ($ADMIN[$theu] and $yes == 1) { 
    27 header("Location: $ADMIN[$theu]/$file"); 
    28 } else { 
    29 header("Location: $ADMIN[defaulturl]"); 
    30 } 
    31 } else { 
    32 header("Location: $ADMIN[defaulturl]"); 
    33 } 
    34 print_r($_SERVER['HTTP_REFERER']); 
    35 ?>

    3.

     1 <?php
     2 $ADMIN[defaulturl] = "http://www.111cn.net/404.htm";//盗链返回的地址
     3 $okaysites = array("http://www.111cn.net/","http://111cn.net"); //白名单 
     4 $ADMIN[url_1] = "http://www.111cn.net/download/";//下载地点1
     5 $ADMIN[url_2] = "";//下载地点2,以此类推
     6 $reffer = $HTTP_REFERER;
     7 if($reffer) {
     8 $yes = 0;
     9 while(list($domain, $subarray) = each($okaysites)) {
    10 if (ereg($subarray,"$reffer")) {
    11 $yes = 1;
    12 }
    13 }
    14 $theu = "url"."_"."$site";
    15 if ($ADMIN[$theu] AND $yes == 1) {
    16 header("Location: $ADMIN[$theu]/$file");
    17 } else {
    18 header("Location: $ADMIN[defaulturl]");
    19 }
    20 } else {
    21 header("Location: $ADMIN[defaulturl]");
    22 }
    23 ?>
  • 相关阅读:
    .Net Core使用Options模式来使用配置项
    git忽略已经提交的文件(git忽略文件不起作用)
    AirTest
    VSCode搭建rust开发环境
    动态编译和加载java代码
    JavaScript动态应用代码(有点像Java里的drools)
    Win10 Rust 编译报错: linking with `link.exe` failed: exit code: 1181
    git 拉取仓库的单个目录
    dart里实现类似Java里的--classpath的功能
    Rust离线安装
  • 原文地址:https://www.cnblogs.com/y0umer/p/2772580.html
Copyright © 2011-2022 走看看