Nginx 作为 Web 服务器使用变量渲染索引 html

问题描述

问题:我需要修改 HTML 响应。需要在响应体中注入数据属性

数据属性值将是查询参数/发布参数。

使用 Nginx 作为网络服务器。我们如何才能做到这一点?

我已经检查了 Nginx+lua。但是还有其他方法吗? SSI也能解决这个问题吗?如果是,那么我们如何从 Nginx 获取查询参数和发布值

解决方法

您将自己暴露在 XSS 攻击中,但使用 ngx_http_sub_module 应该是可能的。要访问查询字符串参数 foo,请使用 $arg_foo

就像这样:

location / {
    sub_filter '##NAME##'  $arg_foo;
}

如果您使用 ?foo=Hello 调用您的网站,它会将您 HTML 中的 ##NAME## 替换为 Hello

然而,一般来说,让外部事物(如查询字符串参数)直接传递到您的 HTML 中是一个糟糕的主意!