我的网站上有一个脚本,允许用户编辑/创建他们的帐户。我想限制通过浏览器(ex.www.mydomain.com/cp/page/login.php 或 www.mydomain.com/cp/home.php)直接访问文件,并且只允许 index.php 访问这些文件. 我尝试使用 .htaccess 但 index.php 无法访问它们。我也无法将它们移出 public_html 文件夹。它不包括文件夹。我怎样才能做到这一点?如果你需要别的东西,请现在让我。
问问题
4962 次
2 回答
5
一种方法是使用include
或require
从 PHP 调用:
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>
于 2013-11-08T19:27:30.083 回答
2
PHP 中的一种常见方法是在其中定义某些index.php
内容并在其他内容中进行检查:
//index.php
define('INDEX', true);
if(isset($_GET['page'])) {
if($_GET['page'] == 'home') {
include('cp/home.php');
}
}
//home.php
if(!defined('INDEX') { die(); }
//more code
于 2013-11-08T17:21:55.480 回答