Nginx internal指令加固限制直接访问服务器文件

Ngin的internal指令可以用来限制浏览器直接访问服务器内的资源文件,比如下载站服务器内的压缩包文件目录路径被用户用非法手段获取到,就可以不通过下载程序逻辑下载,直接访问路径+压缩包名称直接下载。

但是用了internal指令,直接用浏览器访问路径+压缩包名称,就会提示404无法访问,必须经过程序逻辑才能访问到文件。

internal指令使用方法

比如需要访问路径为 /images/auth-pictures/内的图片资源,Ngin的internal指令配置方法如下:

location ^~ /images/auth-pictures/ {
  internal;
}

保存后重启 nginx,直接访问 /images/auth-pictures/ 下的图片,会返回 404。

我们只能通过在响应头“X-Accel-Redirect” 域使请求重定向到真实的图片路径上面,才能正常访问到文件,方法如下:

<?php
('Content-Type: ' . ('./images/auth-pictures/' . $name)['mime']);
('X-Accel-Redirect: /images/auth-pictures/' . $name);
die;

 

阅读剩余
THE END