2012-03-20 104 views
13

有没有一种方法可以检测到在我的PHP页面中调用的URL,类似于说一个GET或POST,但woudl喜欢获取URL因为我想限制页面访问它到一个特定的URL,因为这个文件正在从另一台服务器调用PHP - 检测从其他来源/网址请求PHP页面的传入url

基本上:www.MYURL.com调用PHP文件从说www.PHPURL.com如果URL不是www.MYURL.com然后反弹出来等

非常感谢

在回答下面我用的mentioend和这里的答案是我做过什么:

$URL_REF = parse_url($_SERVER['HTTP_REFERER']); 
    $URL_REF_HOST = $URL_REF['host']; 

感谢@Philip贝文,@板井鹭和@EvilP

+0

正如@Itai Sagi所说,基于此建立您的权限路由并不是一个好主意。另外,你可以通过使用'parse_url($ _ SERVER ['HTTP_REFERER'],PHP_URL_PATH)' – jimasun 2016-08-19 13:16:19

回答

23

好,你可以使用$_SERVER['HTTP_REFERER'] - 但它可以被掩饰/删除。

编辑:正如有人问,HTTP_REFERER是由客户端发送的头,大多数浏览器的默认行为是发送它,但如果你愿意,你可以禁用它,甚至发送不同的引用头人们会认为你来自其他地方。底线:如果它对你不那么重要,你可以使用它,但是不要永远,根据他们的引荐者单独给予额外的特权。

+0

来实现相同的功能,你可以使用这种技术加密头部吗? – 2012-03-20 16:29:04

+0

你先回答了,所以会给你这个,非常感谢。 – 2012-03-20 16:39:29

8
$_SERVER["HTTP_REFERER"] 

是你在找什么。