Php禁止外部盗链nginx,nginx 防止盗链

下载服务器上有众多的软件资源, 可是很多来源不是本站,是迅雷、flashget, 源源不断的带宽,防盗链绝对是当务之急. 使用来源判断根本不靠谱,只能防止一些小白站点的盗链,迅雷之类的下载工具完全无效,如果你是nginx的话,使用secure link完美解决这个问题,远离迅雷.本文仅用于下载服务器,不适用于图片防盗链.

安装nginx

默认情况下nginx不会安装secure_link模块,需要手动指定,配置参数如下

1

2

3

4

./configure --with-http_secure_link_module \

--prefix=/usr/local/nginx-1.4.2 --with-http_stub_status_module

make

make install

配置nginx

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

server {

listen 80;

server_name s1.down.ttlsa.com;

access_log /data/logs/nginx/s1.down.ttlsa.com.access.log main;

index index.html index.php index.html;

root /data/site/s1.down.ttlsa.com;

location / {

secure_link $arg_st,$arg_e;

secure_link_md5 ttlsa.com$uri$arg_e;

if ($secure_link = "") {

return 403;

}

if ($secure_link = "0") {

return 403;

}

}

}

php下载页面

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

作用:生成nginx secure link链接

站点:www.ttlsa.com

作者:凉白开

时间:2013-09-11

$secret = 'ttlsa.com'; # 密钥

$path = '/web/nginx-1.4.2.tar.gz'; # 下载文件

下载到期时间,time是当前时间,300表示300秒,也就是说从现在到300秒之内文件不过期

$expire = time()+300;

用文件路径、密钥、过期时间生成加密串

$md5 = base64encode(md5($secret . $path . $expire, true));

$md5 = strtr($md5, '+/', '-');

$md5 = str_replace('=', '', $md5);

加密后的下载地址

echo '

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值