首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当HTTP_REFERER为空时如何检查参考网址?

当HTTP_REFERER为空时如何检查参考网址?
EN

Stack Overflow用户
提问于 2014-07-17 19:36:23
回答 2查看 1.2K关注 0票数 2

我正在构建一个API,并打算允许来自特定域的API调用。我正在使用‘curl’操作符进行API调用,而不设置头部:

代码语言:javascript
复制
curl_setopt($ch, CURLOPT_HEADER, 0);

所以,当我检查$_SERVER‘’HTTP_REFERER‘时,它是’NULL‘。

现在,如何在PHP中检查调用是否来自特定的域?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-07-17 19:39:44

您必须检查特定的域名是否存在于$_SERVER['REMOTE_ADDR']的DNS中

代码语言:javascript
复制
<?php
$ip = gethostbyname('www.example.com');
$valid_call = $ip == $_SERVER['REMOTE_ADDR'] ? true : false;

请记住,永远不要信任HTTP标头。它们可能会被操纵,而IP可能不会。

票数 1
EN

Stack Overflow用户

发布于 2014-07-17 19:49:47

有两种方法可以在cURL的头部中传递REFERER。

I.手动CURLOPT_REFERER

代码语言:javascript
复制
curl_setopt($ch, CURLOPT_REFERER, 'http://example.com');

二、自动化或使用CURLOPT_AUTOREFERER

curl_setopt($ch,CURLOPT_AUTOREFERER,true);

请参阅cURL setopt docuemntation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24802447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档