有很多信息,我试图将所有这些信息纳入php中的单页网页应用程序。不试图进入辩论,只是在现代网站中寻找标准,或者如果意见分歧,只有一些风险,这个和其他选择需要。
此外,我在一个connect.php文件中,在域根目录中有我的数据库连接,并考虑移回一个级别。
<?php require_once "../../folder/config.php";
session_start();
ob_start();
$access = 'my_value';
// ...
if($connectDatabase == TRUE) {
$action=TRUE;
include('connect.php');
}
答案 0 :(得分:4)
只要所有*.php
文件都通过PHP解释器提供,那么[{1}}和<?php
之间的内容与您的应用程序一样安全。旧的命名方式包括类似?>
引起的问题,因为如果您知道扩展名,dbinfo.inc
文件只是作为文本提供。我更喜欢inc.dbinfo.php,class.mysql_db.php,view.news.php等用于目录列表中的逻辑分组,但是只要它们以*.inc
结尾,就更喜欢它们自己。
一旦有人能够执行代码注入,或者在服务器上放置/检索原始文件,那么存储数据库信息的Web根目录上的层数并不重要。
答案 1 :(得分:0)
它应该是安全的,但我建议不要在您的网站上编制索引。这将不允许人们去那个目录看到php文件,如果他们试图去connect.php他们将看不到任何东西
http://www.ducea.com/2006/06/26/apache-tips-tricks-disable-directory-indexes/
答案 2 :(得分:-2)
将配置文件移到公用文件夹之外,以便无法通过URL访问它。或者,使用.htaccess文件来保护包含
的文件夹deny from all
或
<Files config.php>
Order Deny
Deny From All
</Files>