您发布的代码正在发挥作用。如果人们试图在没有引用者的情况下访问您网站的根目录,那么它当然会永远循环。
替换header("Location:http://mysite.com");
它指向服务器上的不同页面header("Location:http://mysite.com/no_referer.php");
,当然,创建一个名为的页面no_referer.php
,其中包含一些内容告诉他们。
由于代码不断检查引用者是否来自您的站点,因此需要三个不同的页面,它们如下:
- index.php (假设这就是您的索引文件的名称)
- 欢迎.php
- no_referer.php
一个用于索引,一个用于欢迎访问,一个用于不良推荐人。
试试这个并给它一个条件。
(在您的 index.php 文件中)
<?php
if($_SERVER["HTTP_REFERER"] == "")
{
header("Location:http://mysite.com/no_referer.php");
exit;
}
else {
header("Location:http://mysite.com/welcome.php");
exit;
}
?>
要使用 进行测试href
,请使用以下内容并创建一个名为的页面,该页面test_referer.php
将充当您的index.php
文件。
<a href="referer_test.php">Referer test</a>
然后将上面的代码 ( ) 复制the code that checks for a referer
到一个名为 的文件referer_test.php
中,并相应地创建其他页面,no_referer.php
并welcome.php
在其中包含相应的内容。