码迷,mamicode.com
首页 > 其他好文 > 详细

nginx支持ssi使用../

时间:2015-07-14 11:49:50      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:nginx ssi unsafe

让nginx支持ssi,只需要在http段里增加

ssi on;

ssi_types text/shtml;


或者在需要支持的虚拟主机配置里增加也可以。server段里。


但是相对apache来说,nginx更加严格,对于include virtual=../../ 这样的使用方法是不支持的,会在error日志中报错“unsafe URI”。那么nginx就不能做到这一点了吗?


打开nginx的ssi源码src/http/modules/ngx_http_ssi_filter_module.c可以看到这样一段

    if (ngx_http_parse_unsafe_uri(r, uri, &args, &flags) != NGX_OK) {
        return NGX_HTTP_SSI_ERROR;
    }

这段是在判断当前uri是否满足nginx的安全设置。函数ngx_http_parse_unsafe_uri在src/http/ngx_http_parse.c里有定义,有兴趣的朋友可以自学一下。


也就是说注释掉这段,就可以绕开nginx的安全设定了。


注释后,重新编译安装。这样nginx就可以支持 include virtual=../../ 这样的调用方法了。

本文出自 “菩提” 博客,请务必保留此出处http://zhangxingnan.blog.51cto.com/3241217/1674012

nginx支持ssi使用../

标签:nginx ssi unsafe

原文地址:http://zhangxingnan.blog.51cto.com/3241217/1674012

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!