我正在绞尽脑汁,为什么这是行不通的。限制访问如果不是来自某些引用者PHP
我想实现的目标是限制访问我自己的网站上的页面,只有来自某个网站,例如Facebook。
由于链接将发布在1个或更多Facebook页面和/或我的个人档案中,因此希望脚本在来自Facebook和/或任何其他发布的“页面”时执行。
举例来说,如果我后我的链接www.facebook.com/This_is_my_PAGE或贴在我的个人资料www.facebook.com/freds_personal_profile或有人分享我在Facebook上的链接,希望页只能访问来自Facebook域名的用户。
我在搜索解决方案时发现了下面的脚本,但它回显了我的错误消息,而不是重定向到有问题的链接。
$target_site = 'https://www.facebook.com/';
if (isset($_SERVER['HTTP_REFERER']) && preg_match("/$target_site/",$_SERVER['HTTP_REFERER'])) {
// do something with people from facebook.com
}
else {
// do something else with everyone else
echo "Sorry, viewable to Facebook fans only.";
}
也许你应该在错误信息中回显'$ _SERVER ['HTTP_REFERER']'的内容。这会给你一个提示。 – jasonlfunk
HTTP_REFEER不是强制性标题,它可能不会被浏览器设置。 – Zefiryn