如何控制PHP页面的来源

方法一 来源、$_SERVER['HTTP_REFERER']方法二 类似校验码的方式、在reg.php生成一个变量,存入session在register.php读取该session,如果不一样就回退并提示 本回答由提问者推荐

在register.php中添加一个页面跳转即可。 本回答被网友采纳

其他方法不太清楚,倒是可以通过设置访问控制方法来达到,在reg.php跳转到register.php时定义一个session的值,然后再register.php设置一个验证,如果reg.php定义的session为空,就输出'拒绝访问',然后再退出register.php时清除session,这样就可以达到只有reg.php可以访问的目的

加一个参数,reg.php提交自己的文件名到register。php 追问 可以说具体一点吗

1、如果是从其他页面跳转过来,则会有 $_SERVER['HTTP_REFERER']值,且不为空2、如果是直接从网址里输入这个URL访问,则会有 $_SERVER['HTTP_REFERER']值,且为空

“HTTP_REFERER”链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是正确真实的。 更多追问追答 追问 恩!可以就算$_SERVER['HTTP_REFERER']为空,$referer的值也应该是unknow啊? 怎么$referer会是空的呢 追答 你 print_r($_SERVER)看看输出什么 追问 我已经明白了 他就是个空格 谢谢 本回答被提问者和网友采纳

 使用PHP编写程序的时候,想要获取当前页面的URL,可以了用函数来实现;参考方法如下:php// 说明:获取完整URLfunction curPageURL() {    $pageURL = 'http';    if ($_SERVER["HTTPS"] == "on")     {        $pageURL .= "s";    }    $pageURL .= "://";    if ($_SERVER["SERVER_PORT"] != "80")     {        $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];    }     else     {        $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];    }    return $pageURL;}?>

$_SERVER['HTTP_REFERER']这个变量的值就是跳转前页面的URL地址~ 本回答被提问者采纳

$_SERVER['HTTP_REFERER'],返回的是来访页面地址不过不是100%的准确

print_r($_SERVER);你可以看看有很多你需要的东西

<?php$urlResource=$_SERVER['HTTP_REFERER'];echo $urlResource;?>

差不多给2个建议fopen 将a+改成w+字符串内如果没有变量,尽量不要用双引号,用单引号,因为php会自动查找双引号内的变量进行编译,你没有变量。那php这个动作就多余,从而影响程序的运行速度。而单引号就不会!比如改成这样:<?php echo $_SERVER['HTTP_REFERER'];$time=date('Y-m-d H:i:s');$file=fopen('ip.txt','w+');fwrite($file,str_pad($ip,15,'',1).''.$time."\n");fclose($file);?> 本回答由提问者推荐

http://www.kuitao8.com/20140515/2443.shtmlfunction check_referer()    {        $online = true;        if ($online) {        $referer  = $_SERVER['HTTP_REFERER'];    if (strpos($referer, "baidu.com") != false or strpos($referer, "baidubeta.com") !=         false) {        return true;    } else {        echo false;    }        } else {        return true;    } } 本回答由网友推荐

可以,加个参数记录跳转的url地址就行

$url = $_GET['url'];if ($url === '1') {  echo '内容1';} elseif ($url === '2') {  echo '内容2';} else {  echo '内容n';}大概就是这么个思路 本回答由网友推荐