如何通过反向代理防止请求伪造?

问题描述 投票:0回答:1

我目前正在开发一个付费库,负责实现请求过滤。该库将请求限制为仅允许那些具有从注册域或本地主机使用的有效许可证密钥的请求。例如,允许从 localhost 到

localhost:8080
的请求。

目前,我通过检查 IP、HTTP 标头(

Referer
Origin
Remote Addr
Remote Host
)以及
X-Forwarded-For
中的 IP 是否是本地主机或注册域来过滤请求。但是,我担心尚未购买许可证的人可能会使用反向代理来修改所有请求标头和 IP 以显示为 localhost,然后将请求发送到我们的服务器。我不确定如何有效过滤掉这些类型的请求。

我一直在检查 IP 和 HTTP 标头,以确保请求来自授权来源,但我正在努力阻止通过反向代理操纵标头的请求。

reverse-proxy requestfiltering
1个回答
0
投票

就像你说的,任何人都可以在他们和你的 API 之间放置反向代理并篡改 HTTP 标头。如果您想绝对确定请求来自合法来源,您将需要更多东西。

以下是您可以做的一些事情:

  • 在您的客户端和 API 服务器之间设置 VPN 隧道
  • 为您的客户端颁发 SSL 证书,并让他们在连接到您的 API 时使用它作为请求验证的手段
© www.soinside.com 2019 - 2024. All rights reserved.