我的网站上有一个脚本,允许用户编辑/创建他们的帐户。我想限制通过浏览器直接访问文件(例如www.mydomain.com/cp/page/login.php或www.mydomain.com/cp/home.php),并且只允许index.php访问这些文件。我试过.htaccess但是index.php无法访问它们。此外,我无法将它们移出public_html文件夹。它不包括文件夹。我怎么能做到这一点? 如果你还需要别的东西,请现在就告诉我。
答案 0 :(得分:4)
这样做的一种方法是使用PHP的include
或require
调用:
include '/path/to/script.php';
include
由服务器端的PHP处理,因此Apache块不会对此产生影响。
然后,您可以保留现有的<Files>
指令来阻止访问.php
文件:
<Files *.php>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Files>
<Files index.php>
Order Allow,Deny
Allow from all
</Files>
答案 1 :(得分:1)
PHP中一种常见的方法是在index.php中定义一些内容并在其他内容中检查它:
//index.php
define('INDEX', true);
//more code
//register.php
if(!defined('INDEX') { die(); }
//more code