我在包含文件中包含了我想要放在webroot文件之外的所有数据库凭据。
但是,我的共享主机方案不允许我将文件放在webroot之外。我是否必须以某种方式加密我的文件以确保我的凭据是安全的?
我已经阅读了一种方法来制作一种虚假的404页面,但这对我来说根本不是很安全。
我还采取了创建只读用户帐户的步骤,这样如果我的帐户被泄露,那么至少没有任何东西可以被覆盖或删除,但我显然希望尽可能安全,因为我可以给出限制。
答案 0 :(得分:2)
你不能
最好的可能是创建php文件,它将由托管服务解释。
<?php
$DB_USER = 'your_user';
$DB_PASS = 'your_pass';
$DB_INSTANCe= 'your_instance';
如果有人从网络浏览器访问您的文件,他将看不到任何内容。当您需要文件时,只需加入它。
您还可以添加一些.htaccess(可能),这样任何使用网络浏览器的人都无法访问您的文件。
对您具有相同物理主机读取权限的人可能会无法访问此文件,并且无法阻止此操作。
答案 1 :(得分:1)
如果服务器正在运行apache并且您被允许覆盖指令,则可以通过在webroot中使用以下行创建.htaccess文件来实现,请务必替换&lt; FILENAME&gt; (包括&lt;&gt;),其中包含您要拒绝访问的文件的名称。
#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>