【问题标题】:Domain Restriction In REST APIREST API 中的域限制
【发布时间】:2023-03-27 07:45:01
【问题描述】:

我正在为具有基于密钥的身份验证的 Web 应用程序在 PHP 中开发 REST API,我还想实现 DOMAIN 限制以调用 REST API,以便只能从允许的域或子域访问它。

为此,我尝试从 $_SERVER 变量中获取 HTTP_REFERRAL,但是在通过 CURL 调用 API 时它没有给出 HTTP_REFERRAL(可能是因为没有通过 HTTP 协议调用),请建议什么是最好的方法实现它,以便我们也可以从 CURL 请求中获取域名。

谢谢

【问题讨论】:

    标签: php web-services api curl


    【解决方案1】:

    您可以使用 CORS 来做到这一点。您可以在其中定义域限制。 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

    【讨论】:

    • 它似乎可以与 HTTP 协议一起使用,但我的问题是 CURL 请求。我擅长 HTTP 并且能够获取请求域。
    • curl 只发送一个 http 请求。它自动执行 HTTP 请求。
    • 客户端 curl 发送 HTTP 请求。请求包含一个方法(如 GET、POST、HEAD 等)、许多请求标头,有时还包含一个请求正文。 HTTP 服务器以状态行(指示事情是否顺利)、响应标头以及最常见的响应正文进行响应。 curl.haxx.se/docs/httpscripting.html
    • 是的,你是对的,但我的问题是我想获取调用我的 API 的请求域。这是我得到的 HTTP_HOST 和 SERVER_NAME 与托管它的 REST API 域相同 $_SERVER[HTTP_HOST] => restapidomain.com, $_SERVER[SERVER_NAME] => restapidomain.com。相反,我想获取客户端域名进行验证
    猜你喜欢
    • 2019-07-06
    • 1970-01-01
    • 2011-06-11
    • 2015-04-23
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    相关资源
    最近更新 更多