使用Nginx静默提供受保护的图像

时间:2015-08-27 15:27:24

标签: php nginx

我的文件夹uploaded_images包含jpeg图像(内部和子目录中),我需要验证用户是否可以查看图片。这是我的PHP代码:

<?php
$file = $_GET['p'];
if($user_can_see_this_files){
   header('Content-type: image/jpeg');
   header('X-Accel-Redirect: /uploaded_images/'.$file);
}else{
   header('HTTP/1.0 403 Forbidden');
}
?>

如果我在nginx配置文件中将目录uploaded_images设置为internal,我可以使用如下链接显示图像:

http://example.com/view.php?p=example.jpg

或者

http://example.com/view.php?p=subfolder/example.jpg

但我想使用如下常用链接显示图像:

http://example.com/uploaded_images/example.jpg

或者在前面第二个例子的情况下:

http://example.com/uploaded_images/subfolder/example.jpg

如何使用nginx配置文件?

0 个答案:

没有答案