1

那里有很多信息,我正试图将所有这些因素考虑到 php 中的单页 Web 应用程序中。不试图进入辩论,只是在现代网站中寻找标准,或者如果意见分歧,只是这个和其他选项带来的一些风险。

此外,我的数据库连接位于域根目录中的 connect.php 文件中,并且还考虑移回一个级别。

<?php require_once "../../folder/config.php";
session_start();
ob_start();
$access = 'my_value'; 
// ...
if($connectDatabase == TRUE) {
  $action=TRUE;
  include('connect.php');
}
4

3 回答 3

4

只要所有*.php文件都通过 PHP 解释器提供,那么它们的内容 [介于<?php?>] 就与您的应用程序一样安全。旧的命名风格包括类似dbinfo.inc导致的问题,因为*.inc如果您知道扩展名,文件只是作为文本提供。对于目录列表中的逻辑分组,我更喜欢 inc.dbinfo.php、class.mysql_db.php、view.news.php 等,但只要它们以.php.

一旦有人能够执行代码注入,或者在您的服务器上/从您的服务器上放置/检索原始文件,那么您的数据库信息存储在 Web 根目录之上多少层都无关紧要。

于 2013-01-18T19:15:30.347 回答
0

它应该是安全的,但我建议禁止在您的网站上建立索引。这将不允许人们去那个目录查看 php 文件,如果他们尝试去 connect.php 他们将看不到任何东西

http://www.ducea.com/2006/06/26/apache-tips-tricks-disable-directory-indexes/

于 2013-01-18T19:09:25.900 回答
-2

将配置文件移到公用文件夹之外,使其无法通过 URL 访问。或者,使用 .htaccess 文件来保护包含文件夹

deny from all

或者

<Files config.php>
    Order Deny
    Deny From All
</Files>
于 2013-01-18T19:13:38.847 回答