让Nginx的SSI支持相对路径--更安全的方法
这个比较老生长谈的问题,例如 文章 关于nginx的ssi 但,这种改法,实在不安全.毕竟全局的函数都被改了,任意的../../../都能被访问 故,基于我对nginx的了解,使用另外一种改法,仅仅修改SSI模块,安全性相对较高 修改src/http/modules/ngx_http_ssi_filter_module.c 找到以下代码(以nginx 0.9.3版为例):
if (ngx_http_parse_unsafe_uri(r, uri, &args;, &flags;) != NGX_OK) {
return NGX_HTTP_SSI_ERROR;
}
将上述代码注释掉或直接删掉,然后按一般方法编译nginx即可(可以参考升级到0.9.0). 测试代码: 文件1 — index.html
测试导入
文件2 – subdir/index.html
访问subdir/index.html,测试通过!
blog comments powered by Disqus