假设我们有以下
目标:用户将发布特定的确切URL $refere
以锁定查看文本内容,并且只有当viwer来自相同的确切URL $refere
时才允许查看。
$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 = $_SERVER['HTTP_REFERER'];
空白!在任何PHP版本4或5上也不推荐使用它!
还有
用户发布的$refere
和https://
一样,或者错过了www.
,或者只发布了site_site.com
,而$r = $_SERVER['HTTP_REFERER'];
显示了www.site_site.com
所以任何人都可以帮助我调整这个代码,使其正常工作,无论用户是完全发布$refere
链接还是仅发布site_site.com
。
只有当您从另一个页面单击指向页面的链接,并且浏览器(或您所在的最终代理或防火墙)没有删除referer标头时,才会设置$_SERVER['REFERER']
变量。
对于你的第二个问题:做一些字符串比较。函数CCD_ 13和CCD_。