2014-02-21 55 views
0

我有一个网站上的Apache Web服务器。 我有这样的文件结构。限制访问文件与Apache在Apache

test.php 
accessA.php 
otherfiles.php 

我要添加限制访问test.php文件的所有用户和所有的文件。例如,如果用户输入http://site/test.php作为URL或文件或用户要访问的site/test.php目录中的错误消息显示并且用户不能访问testA.php。 但我想只允许accessA.php文件访问test.php文件与这样的include语句。 accessA.php

<?php 
include_once 'test.php' ; 
?> 

换句话说,我希望允许访问的文件test.php只为accessA.php。 我该怎么做?

我可以使用open_basedir?

+0

在“text.php”的第一行中,针对一组已知权限测试用户帐户。如果用户没有适当的权限,请发送一个303. –

+0

我可以使用open_basedir吗? – adib16

+0

我不明白你真的在问什么。请让问题更清楚。 –

回答

1

不能使用open_basedir的,这是一个配置谁允许的chroot的Apache的实例(谁使网站的根在哪里,你definined它在开基dir变量的水平) 更好的方式来否认对某个页面的访问权限是做一个htaccess

1

放在上面的test.php的文件,该行:

if($_SERVER['SCRIPT_NAME']=='test.php')die('not allowed'); 

可以否认htaccess的规则也访问。

RewriteRule ^test.php$ - [R=404,L] 
+0

在这种情况下我怎么可以访问test.php与accessA.php ?? – adib16

+0

如果你从'accessA.php'包含'test.php',脚本名称将是'accessA.php'而不是'test.php',所以你可以包含'test.php' – markcial