and*_*son 4 php database security
最近有一个主要问题,我的网络托管公司搞砸了,我的所有php文件都以纯文本显示.出于显而易见的原因,这对我来说是个主要问题.主要是因为暴露了mysql数据库的细节.
我现在正试图改变我的php文件获取数据库登录信息的方式,这样即使托管公司让我失败也不会再发生这种情况.
我目前的设置如下:
include 'info.php';
class Login {
var $host;
var $username;
var $password;
var $db;
var $url;
Run Code Online (Sandbox Code Playgroud)
info.php里面是数据库的用户名,密码等.我想这样做,以便永远不会查看info.php文件,只有我的.php文件能够访问info.php才能获得登录信息.
我怎么设置它?这对我来说是一个棘手的解释所以请不要苛刻和-1我的描述不好..只是问,我将清除我的描述中的任何差距.
只需放在info.php您的webroot之外.这样,您可以包含它,但是如果您的网站托管f*#$ up,其他任何人都无法查看该文件,即使是纯文本也是如此.
然后你会像这样包括它:
include('../info.php');
这样,即使有人发现您有一个名为info.php存储所有密码的文件,他们也无法将浏览器指向该文件.
以上将是理想和最无懈可击的解决方案.但是,如果由于权限而无法实现,则另一个选项是将所有敏感文件放在目录中,并使用.htaccess文件阻止对该目录的直接访问.
在要阻止访问的目录中,放置包含.htaccess以下内容的文件:
deny from all