10
回答
Linux+nginx/0.8.38如何禁止上次图片目录执行PHP脚本?
终于搞明白,存储TCO原来是这样算的>>>   

为了网站安全,想禁止图片上次目录,禁止执行PHP脚本程序,请问用什么方法?

我先在这里谢谢大家了。

举报
HuHuang
发帖于7年前 10回/868阅
共有10个答案 最后回答: 7年前

引用来自#3楼“小编辑”的帖子

location /upload/ {
location ~  .*\.(php)?$
{
deny all;  
}
}

 能告诉我具体用法?

我刚接触,谢谢您了

1 匹配URI是否为php,如果是返回403

location /upload/ {

set $visitFlag 1;

if ($uri ~* *\.(php)?$) {

set $visitFlag 0};}

 if ( $visitFlag = 1 ) {

return 403;}}

2 直接用location匹配php,如果是直接返回403

locaiton /upload(\/[\w\W\.]+)+.php$ {

return 403;}

引用来自#6楼“何宏生”的帖子

1 匹配URI是否为php,如果是返回403

location /upload/ {

set $visitFlag 1;

if ($uri ~* *\.(php)?$) {

set $visitFlag 0};}

 if ( $visitFlag = 1 ) {

return 403;}}

2 直接用location匹配php,如果是直接返回403

locaiton /upload(\/[\w\W\.]+)+.php$ {

return 403;}

 请问修改哪个目录下的文件?

我是 Nginx + Apache 这种架构,Apache 负责处理 PHP

这么配置上,Nginx 遇到后续是 .php 的文件就会 proxy 给 Apache 处理。

而 Upload 这种目录,是指定了 root 路径让 Nginx 直接读取的,没有交给 Apache 所以也不会执行到 PHP了

配置如下:

         location ~ ^/(uploadfile|skin)/ {
            expires max;
            root /data/web_server/gznow;
        }
        location ~ \.php$ {
            proxy_pass http://server_gznow;
            include proxy.conf;
        }

引用来自#9楼“mesopodamia”的帖子

把图片服务器和应用服务器独立隔离部署才是最好的解决办法。

恩的。不过图片服务器应该是自己自定义服务器。采用分布开源系统。然后自己在这个上面做一个小型服务器来适合自己应用使用。

相关资料

像现在HDFS,Mogilefs,GridFS(mongodb模块)

顶部