我在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 ??
答案 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