在apache中使用php限制对文件的访问

时间:2014-02-21 23:03:03

标签: php apache

我在apache web服务器上有一个站点。 我有这样的文件结构。

test.php
accessA.php
otherfiles.php

我想为所有用户和所有文件添加对test.php文件的限制访问权限。例如,如果用户输入http://site/test.php作为网址或文件或用户想要访问{{ 1}}目录显示错误消息,用户无法访问site/test.php。 但是我想只允许accessA.php文件用这样的include语句访问test.php文件。 accessA.php

testA.php

换句话说,我希望仅允许<?php include_once 'test.php' ; ?> 访问test.php文件。 我怎么做的?

我可以使用open_basedir ??

2 个答案:

答案 0 :(得分:1)

将这一行放在test.php文件的顶部:

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

您也可以通过htaccess规则拒绝访问。

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

答案 1 :(得分:1)

你不能使用open_basedir,它是一个允许chroot apache实例的配置(谁在你用open base dir变量定义它的网站的根目录) 拒绝访问某个页面的更好方法是执行htaccess