Hello!
2017-07-03 19:03 GMT-07:00 <yinq...@gmail.com>:
> 嗯,把孤儿%当成当成非法序列给吃掉这种方式本身没问题。
> 其实我现在碰到的一个场景是在ngx_lua这块对http请求参数做过滤,从而保护upstream模块指定的上游服务器,虽然ngx
> lua模块获取的参数值是剔除了孤儿%的,但是传送给upstream上游服务器其实还是把参数中的%带过去的。
> 如tokers所说,可以获取整个query_string后做处理,不过感觉两块如果一致的话处理起来会方便许多,也不会导致对上游服务器造成注入攻击。
>
自动把原始 url 带给后端应该是 ngx_proxy 模块的行为,和 ngx_lua 没有任何关系。如果你想强制 uri
的归一化,你应该使用 ngx.req.set_uri() 这样的 Lua API 来改写当前请求的 URI。
-agentzh