GET 请求 URL/Domain 应用名称

GET Requesting URL/Domain Name of Application

大家好,希望你们能帮我解决这个问题。我想从我的 API 中获取请求应用程序的 "Domain name"。示例:

请求url: http://myrequestor.com/

API/申请URL: http://myapi.com/request/validate/

现在,每当外部应用程序从 API URL 请求某些内容时,在我的验证功能上,我想检索请求应用程序的域名。有点像我想知道请求它的域名是否在黑名单应用程序中。

伙计们有什么想法吗?抱歉这个令人困惑的问题。

您应该使用 php 的 SERVER 功能。看看这个。 PHP SERVER

您可以在 PHP 中使用 HTTP_REFERER。

PHP 中的 HTTP REFERER 存储在 $_SERVER 超级全局中,并且可以从您的 PHP 代码中的任何地方引用,如下例所示,只需将其写出到浏览器:

    <?php
        echo $_SERVER['HTTP_REFERER']; //Print the URL address from where user opens your link.
    ?>

另请查看此 link 了解更多详情:http://www.electrictoolbox.com/php-http-referer-variable/

使用$_SERVER["HTTP_REFERER"] - 但并不总是设置,可以被操纵,而且不可靠。(其他HTTP也是如此headers )

<?php 
if (array_key_exists('HTTP_REFERER', $_SERVER)){
   //do your validation
   if (in_array($_SERVER["HTTP_REFERER"], $myBlacklistDomains)){
      //fail
   }
}
else{
   //fail?
}
?>