阿里云主机

万维景盛

万维景盛官网
nginx配置图片文件jpg重定向到php进行权限校验

有时程序员需要对jpg等图片文件进行保护,防止非法访问、下载或引用,有什么方法呢?万维景盛小编就给您分享一种通过cookie设置token的方法来限制jpg文件的访问。比如/images/xxx.jpg的文件被内部重定向到/jpg.php?s=/image/xxx.jpg,php文件中检查cookie,进行权限校验,有权限就输出图片,没有权限就302到缩略图。


1
2
3

        location ~^/image/.*.jpg$ {  
            rewrite ^(.*)$ /jpg.php?s=$1 last;
        }

jpg.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

<?php
require_once(dirname(__FILE__).'/config.php');
if(isset($_COOKIE["token"])){ // 是否有登录令牌
    $token = $_COOKIE["token"];
    $redis = new Redis();
    //连接
    $redis->connect(DB_REDIS_IP, 6379);
    $redis->auth(DB_REDIS_PWD);
    $tr = $redis->get($token);
    //var_dump($tr);
    if($tr==False){ // 登录令牌是否有效。
       
    }else{
        $file = dirname(__FILE__).$_REQUEST['s'];
        header('Content-type:image/jpg');
        echo file_get_contents($file);
       
    }
}
header("Location:/thumbnail/".$_REQUEST['s']);
//phpinfo();
?>


< 购物车 > 会员 客服 充值 工单
Top

客服热线

010-80253326

18610695105

客服QQ

请拨总机 010-80253326

咨询售后问题建议 提交工单