Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检索引用url应用程序_Php - Fatal编程技术网

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=,它给了我错误的信息,因为它没有看到两者是相同的]!