首页 > php开发 > php防盗链几种代码

php防盗链几种代码

我们这里讲述的防盗链代码只专注于php的解决方案,当然如果你有服务器管理权限或htaccess文件操作我建义不要用php防盗链哦。

先来看个最简单的,下面是php实现的代码,xxx.mp3就是你的音乐文件的实际地址,对外传播的时候只传播php地址,mp3地址对外不公开,代码如下:

<?php
if (strpos($_SERVER['HTTP_REFERER'], 'qq.com') !== FALSE) {
    header('HTTP/1.1 404 Not Found');
    exit;
}
readfile('xxx.mp3');
?>

可以加入白名单的做法,代码如下:

<?php
/**  
 * @author seraphim
 * @copyright 2012
 */
$ADMIN = array(
    'defaulturl' => 'http://www.xx.com/images/banner-header.gif', //盗链返回的地址
    'url_1' => 'http://www.xx.net/file',
    'url_2' => 'http://www.xx.net/file1',
);
$okaysites = array(
    'http://box.baidu.com',
    'http://tieba.baidu.com/p/1493336008', //白名单
    'http://www.xx.com/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
$ADMIN[defaulturl] = "http://www.phprm.com/ 404.htm"; //盗链返回的地址
$okaysites = array(
    "http://www.phprm.com/",
    "http://phprm.com"
); //白名单
$ADMIN[url_1] = "http://www.phprm.com/download/"; //下载地点1
$ADMIN[url_2] = ""; //下载地点2,以此类推
$reffer = $HTTP_REFERER;
if ($reffer) {
    $yes = 0;
    while (list($domain, $subarray) = each($okaysites)) {
        if (ereg($subarray, "$reffer")) {
            $yes = 1;
        }
    }
    $theu = "url" . "_" . "$site";
    if ($ADMIN[$theu] AND $yes == 1) {
        header("Location: $ADMIN[$theu]/$file");
    } else {
        header("Location: $ADMIN[defaulturl]");
    }
} else {
    header("Location: $ADMIN[defaulturl]");
}
?>

还有很多的方法来实现防盗链本文章只讲到了利用php实现,像有些站生成了html这样做起来就不怎么方便了,我们可以在iis,apache,htaccess来操作。

文章地址:http://www.phprm.com/develop/fs1037.html

转载随意^^请带上本文地址!

标签:php 代码 防盗链

相关文章

发表留言