我制作了这个简单的代码,以防止我的文件从我的php下载文件链接:
if ((strpos($_SERVER['HTTP_REFERER'],'www.domain.com')!==0)) {
$redirect='index.php';
header("Location: $redirect");
exit;
}
它没有用,它总是将我重定向到index.php,即使我点击了我的wbesite里面的链接。 我试图将域名更改为多种类型:
http://www.domain.com
www.domain.com
domain.com
域
但仍然是同样的问题
答案 0 :(得分:1)
我找到了解决方案,我只是使用HTTP_REFERER
对HTTP_HOST
和strpos
进行了比较,如果它们匹配则意味着没有热链接。代码:
if($_SERVER['HTTP_REFERER']) { if(!strpos($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST'])) { $redirect='index.php'; header("Location: $redirect"); } }
答案 1 :(得分:0)
您实际上想要使用!== FALSE
。该字符串可以位于0
位置。还包括zerkms的建议:
if (!empty($_SERVER['HTTP_REFERER']) &&
(strpos($_SERVER['HTTP_REFERER'],'www.domain.com') !== FALSE)) {