0

我的所有数据库凭据都包含在我想放在我的 webroot 文件之外的包含文件中。

但是,我的共享托管计划不允许我将文件放在 webroot 之外。我是否必须考虑以某种方式加密我的文件以确保我的凭据安全?

我读过一种方法来生成一种假的 404 页面,但这对我来说听起来一点也不安全。

我还采取了创建只读用户帐户的步骤,这样如果我的帐户遭到入侵,那么至少不会覆盖或删除任何内容,但我显然希望尽可能安全。

4

2 回答 2

2

你不能

最好的办法是创建将由托管服务解释的 php 文件。

<?php

$DB_USER = 'your_user';
$DB_PASS = 'your_pass';
$DB_INSTANCe= 'your_instance';

当有人从网络浏览器访问您的文件时,他将看不到任何东西。当你需要你的文件时,只需包含它。

您还可以添加一些 .htaccess(可能),这样使用 Web 浏览器的任何人都无法访问您的文件。

可悲的是,与您对同一物理主机具有读取访问权限的人将能够访问此文件,并且没有办法阻止这种情况。

于 2012-10-07T16:21:40.077 回答
1

如果服务器正在运行 apache 并且您可以覆盖指令,那么这可以通过使用以下行在 webroot 中创建一个 .htaccess 文件来实现,请务必将 <FILENAME>(包括 <>)替换为名称您要拒绝访问的文件的名称。

#Deny access to the .htaccess file

<Files ~ "^\.htaccess">

Order allow,deny

Deny from all

</Files>

#Deny the database file

<Files ~ "^\<FILENAME>$">

Order allow,deny

Deny from all

</Files>
于 2012-10-07T16:03:20.100 回答