のための引数の値をエスケープする方法:nginxの:私たちは、このような場所の構成を有しているproxy_pass
location ~ ^/suggest/(?<search>.+) {
proxy_pass https://internal.host/v1/products?suggest=$search;
}
問題はinternal.host
は、外部から誰でもの値として&another_param=value
を渡すことができることを意味し、そのまま$search
を受信することです$search
となり、リモートエンドポイントへの不正アクセスが発生します。
質問は次のとおりです。引数の値をエスケープする方法は?中
申し訳ありませんが、あなたは疑問を誤解していたと思います。私はそれをパスではなく引数の値として渡す必要があります。 2.私は渡される前にそれをurl_escapedにする必要があります。そうでなければ、エスケープされていないアンパサンドを渡して任意の引数を渡すことができます。理解できるように、要求を受け入れるアプリケーションの検証とは何の関係もありません。 –