0

我有一个 php 页面“view.php”

但我不希望任何人通过点击或手动输入 www.domain.com/view.php 来直接查看页面,它必须来自 index.php 正在经历一些过程。IE

index.php ==> view.php/id=$$$

我试过$_SERVER['REQUEST_URI'];

if ($_SERVER['REQUEST_URI'] =='www.domain.com/view.php')
header("location: index.php");

但没有工作..

有人可以帮忙吗

4

2 回答 2

0

$_SERVER["REQUEST_URI"] 返回站点根相对路径,即“/view.php”或“/folder/file.php”。所以你的代码应该是if ($_SERVER["REQUEST_URI"] == "/view.php") { /* ... */ }. 还建议放置exit();在重定向标头之后,以防止后续代码执行。

您也可以像这样使用 $_SERVER["HTTP_REFERER"]if(!$_SERVER["HTTP_REFERER"] == "http://www.your-domain.com/index.php") { /* ... */ }

有关详细信息,请参阅http://php.net/manual/en/reserved.variables.server.php

于 2012-12-14T20:28:29.623 回答
0

尝试使用 POST 变量通过 index.php 文件中的表单发送它

<form action="view.php" method="post">
<input type="hidden" vaue="test" name="KEY"/>
</form>

在你的 view.php

if(isset($_POST['key'])){
//LOAD FILE
}

虽然有不同的解决方案

于 2012-12-14T20:30:09.537 回答