1

我的根目录中有一个简单的配置页面。它类似于wordpress 系统中的 wp-config.php。它的名字是config.php(或任何东西)。我的文件( functions.php)中有一些 mysql 登录或一般页面功能。

当用户调用我的索引页面时,它会加载 config.php(或其他功能页面)。但我想让他们免受外部调用:我想在用户进入 mydomain.com/config.php 时阻止或重定向用户

1.有没有办法做到这一点?

2. 如果是/不是,这对安全性有影响吗?我不知道安全性,但是当我想到它时,我会感到困扰。

4

2 回答 2

1

正如评论中所建议的 - 您可以使用 .htaccess 或简单检查预定义变量来限制对这些文件的访问。最好的办法是将这些文件放在 httpd 无法读取的路径中并从那里包含它们。

您的 webroot 目录(index.php 所在的位置)很可能类似于/var/www/your_site_dir/htdocs. 将它们放在父目录 ( /var/www/your_site_dir) 中,不需要其他限制。

至于它是否会影响安全性……嗯,这取决于您的代码是如何编写的,但是您应该始终限制对这些代码的访问,以防万一。没有一个系统是 100% 安全的,如果有人甚至有条件地可能访问不应该对他们可用的资源,那么没有一个系统可以被认为是安全的。

于 2011-09-03T13:19:14.733 回答
1

首先,不要将可执行代码放入您包含的文件中。这样,即使直接调用它们,也不会发生任何事情,因为它们定义了类/函数但不执行它们。

接下来,如果您不能按照@Narf建议的方式保护它们,您可以使用以下命令开始所有文件:

<?php
  if (!defined('IN_APP')) {
    exit();
  }

在你的应用程序中添加define('IN_APP', true)

这样,如果你的文件被直接调用,它就会退出。

于 2011-09-03T14:05:14.670 回答