确保请求来自服务器内部

时间:2013-07-14 19:06:12

标签: php html security

假设,我正在建立网站。我希望用户只能访问index.php文件。我还有其他文件,如www.mydomain.com/aboutus.php文件,用户可以访问它们,如果他在他的地址栏中键入它。我希望用户只能访问www.mydomain.com。

如何构建此类安全功能?

1 个答案:

答案 0 :(得分:0)

如果我理解正确您希望他们只能访问您的索引/根文档(www.mydomain.com/index.php等)并且无法输入:www.mydomain.com /aboutus.php使用HTTP引用来确保它们来自哪个页面是正确的:

重要说明(编辑):$ _SERVER类型变量容易被客户端伪造成cURL甚至telnet,并且可能成为CSRF类型攻击的基础,所以这绝不是一个安全的实现与会话标记化等内容相比。

在最顶端的aboutus.php:

<?php
// Put the url they came from 
$ref = $_SERVER['HTTP_REFERER'];

if($ref !== 'http://mydomain.com/index.php') {
  die("Must come here from index");
 // uncomment below to redirect them automatically
 // header('location: index.php');
}
// Otherwise they came from index so show the page.
echo "Displaying about page:";
echo $content;
?>