【发布时间】:2021-02-24 13:16:41
【问题描述】:
我知道 CURL 和 HTTP 身份验证只允许来自某些请求的 API 调用。
我有这样的事情
www.mysite.com/list
www.mysite.com/api
list 页面使用 jQuery Ajax 发布请求调用api 页面,api 页面回显 jSON 响应。
我已经在检查 HTTP 引荐来源网址以验证 Post 请求来自某些来源,但这些请求可能是伪造的。
我不能使用 $_SERVER['remote_addr'] 因为这将检查客户端 ip 而不是 API 请求的源 ip。
由于两个页面都托管在同一个 Web 服务器和相同的主机名中,因此无法根据主机名或 IP 地址进行限制。
I am aware of some alternatives like
cURL with HTTP Authentication.
JSON 响应加密和打印前解密。
但是有没有办法限制这些 API 页面以安全地阻止来自服务器或主机名之外的访问?
【问题讨论】: