在我连接到数据库的任何文件中,文档开头都有以下行:
include ('database/data.php');
它完全由
$database = mysqli_connect(host,Username,Password,Table);
然后在"数据库"文件夹中,我有一个 .htaccess 文件,其中包含以下内容:
<files data.php>
order allow,deny
deny from all
</files>
到目前为止,它一直工作正常,但我需要知道 - 这安全吗?
只要您不打印/回显数据库凭据,从技术上讲,人们就无法掌握它们。
到目前为止,您是安全的,但请确保所有其他文件都从常见的攻击中过滤掉,例如 RFI
,SQL Injection
。如果存在可用的RFI
(远程文件包含)攻击(例如在您的上传图像/上传文件(表单)中),则攻击者可能会上传c99
shell并删除您的所有文件。
它仍然在您的网络服务器document_root
之下,因此如果您的网络服务器配置出现问题,它可能会吐出您的凭据。通过此设置,如果 PHP 停止并开始吐出原始文本,您将不会有问题。但是,如果Web服务器失败,例如.htaccess没有得到正确的解析,它将容易受到攻击。
最好将目录拆分为公共和私有部分。后者将保存您的数据库凭据。