我正在开发我的第一个 PHP 应用程序。现在,我将我的数据库连接详细信息保存在根文件夹外的配置文件中的常量中,因为我读到这是防止人们获取您的数据库凭据的最安全方法。
如果我将该文件包含到我的 PHP 应用程序中,这些常量现在不是在我的代码中随处可见吗?这不是一件坏事吗?我个人的想法是创建一个数据库类,将其存储在根目录之外,然后将我的凭据放入私有(private)参数中。所以它会是这样的:
class Db {
private $host = 'host';
private $dbname = 'dbname';
private $username = 'username';
private $password = 'password';
private $connection;
public function __construct() {
$this->open_connection();
}
private function open_connection() {
try {
$this->connection = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->dbname, $this->username, $this->password);
} catch (PDOException $ex) {
// handle exception
}
}
}
然后我会只包括这个文件,有什么想法吗?
最佳答案
如果有人可以访问您的 PHP 源文件,那么您遇到的问题比被发现的数据库登录名还大。只是说。
我将我的数据库凭据保存在一个有意义的地方:在连接到数据库的函数调用中。
关于php - 在 PHP 应用程序中保持数据库凭据的安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22824934/