Php 检索引用url应用程序
假设我们有以下几点Php 检索引用url应用程序,php,Php,假设我们有以下几点 <?PHP if(stripos($r, $refere) == false){ echo "Wrong"; } else { ?> echo "Go"; } ?> 目标:用户将发布特定的准确URL$referee以锁定查看文本内容,并且仅当用户来自相同的准确URL$referee时才允许查看 $refere = "http://www.site_site.com"; // User will post it $r = $_SERVER['HT
<?PHP
if(stripos($r, $refere) == false){
echo "Wrong";
} else { ?>
echo "Go";
}
?>
目标:用户将发布特定的准确URL$referee
以锁定查看文本内容,并且仅当用户来自相同的准确URL$referee
时才允许查看
$refere = "http://www.site_site.com"; // User will post it
$r = $_SERVER['HTTP_REFERER']; // To get real referral
我想做以下几点
<?PHP
if(stripos($r, $refere) == false){
echo "Wrong";
} else { ?>
echo "Go";
}
?>
呼应“去”;
}
?>
它总是给我$r=$\u服务器['HTTP\u REFERER']代码>空白!所以它在任何PHP版本4或5上都不推荐
也
用户发布的$refere
与https://
类似,还是错过了www.
或仅发布了site\u site.com
,而$r=$\u服务器['HTTP\u REFERER']代码>显示www.site\u site.com
因此,无论用户完全发布了$refere
链接,还是仅发布了site\u site.com
只有当您从另一个页面单击链接到您的页面时,并且如果浏览器(或您所在的最终代理或防火墙),才能设置$\u服务器['REFERER']
变量未删除引用程序标头
第二个问题:做一些字符串比较。函数和将非常有用。我还使用了$r=getenv(“HTTP_REFERER”);echo$ref;而且也是空白!请注意,如果HTTP referer以$refere开头,则比较将失败,因为这将使stripos返回0作为位置。在PHP中,0==false,所以使用===false!是的,我确实点击了另一个网站的链接,将我发送到另一个网站上的页面,该页面将检索推荐url,但它是空的,除了$\u服务器['REFERER'],还有其他方法吗@简言之,杰克本:不,没有。如果var_转储($_服务器)未重新发送引用,则浏览器、代理或防火墙必须删除标题。由于防火墙的原因,这是正确的,现在它工作正常,但仍显示一些错误,需要同时使用$r和$refere来删除标题[示例:让$refere=当我点击那里的链接,然后点击$r=,它给了我错误的信息,因为它没有看到两者是相同的]!