Это достаточно хороший способ «спрятать» учетные данные БД? - PullRequest
1 голос
/ 28 марта 2020

Просто ищу несколько советов, если это достаточно хорошо, или если я должен сделать что-то другое, чтобы «скрыть» свои учетные данные базы данных. Давно искал. Я нашел много способов сделать это и чувствую, что все делают это по-своему. Так интересно, если это достаточно хорошо. Спасибо.

Прямо сейчас я храню файл config.ini со своими учетными данными базы данных вне каталога publi c . Затем в каталоге publi c я получил имя папки db_include. Это где у меня есть файл подключения БД php. Это код для соединения с базой данных.

$config = parse_ini_file('../../private/config.ini');
$db = new \PDO('mysql:dbname='.$config['DB_NAME'].';host='.$config['DB_SERVER'].';charset=utf8mb4', ''.$config['DB_USERNAME'].'', ''.$config['DB_PWD'].'');

Также внутри папки db_include я получил файл .htaccess, который имеет «deny from all», поэтому невозможно получить доступ к этой папке db_include или соединению с базой данных. файл.

Это хорошо, или я должен также переместить файл подключения к базе данных за пределы каталога publi c и просто вызывать его, когда мне это нужно?

1 Ответ

3 голосов
/ 28 марта 2020

Есть несколько способов сделать это. Во-первых, я рекомендую использовать файл PHP для хранения учетных данных. Таким образом, если ваш htaccess завершится неудачно, файл php все равно будет проанализирован и ваши учетные данные не появятся:

config. php :

<?php

return [
    "DB_NAME" => "database",
    "DB_USER" => "user"
    // ...
];

Везде, где вам нужно:

$config = require "path/to/config.php";
$db = new \PDO('mysql:dbname='.$config['DB_NAME'].';host='.$config['DB_SERVER'].';charset=utf8mb4', ''.$config['DB_USERNAME'].'', ''.$config['DB_PWD'].'');

Если возможно, храните его вне папки publi c, так как это хороший способ сделать его безопасным.

Помните, что если ваша база данных и сервер хорошо настроены и достаточно безопасны, вам не нужно беспокоиться об учетных данных базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...