防盗链是目前非常常见的web程序设计技巧。本文就以一个实例展示了PHP防盗链的实现方法。分享给大家供大家参考之用。具体方法如下:
主要功能代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php /* 使用方法:将上述代码保存为dao4.php, 比如测试用的validatecode.rar在站点http://www.XXXX.com里面, 则用以下代码表示下载连接. 文件名?site=1&file=文件 例如以下URL: http://www.XXXX.cn/dao4.php?site=1&file=validatecode.rar */ $ADMIN [defaulturl] = "http://www.XXXX.com/404.htm" ; //盗链返回的地址 $okaysites = array ( "http://www.XXXX.com/" , "http://XXXX.com" ); //白名单 $ADMIN [url_1] = "http://www.XXXX.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程序设计有所帮助。