问题描述
问题:我需要修改 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 中是一个糟糕的主意!