MySQL Connect - имя пользователя / пароль должны быть жестко закодированы? - PullRequest
6 голосов
/ 21 августа 2011

Я разработчик для iPhone, и я только начал с PHP и mysql (создание сайтов для других и веб-сервисов для моих приложений).

Всякий раз, когда я жестко кодировал свое имя пользователя и пароль в файл PHP для подключения к базе данных, я чувствовал себя немного странно. Пример:

$con = mysql_connect('localhost:8888','root','password');

Я нахожу это немного неловким, если мне когда-либо приходится показывать код кому-либо.

  • Это безопасная или хорошая практика?
  • Есть ли другой способ подключения к базе данных?

Буду очень признателен за любые советы, связанные с этим вопросом.

Ответы [ 2 ]

6 голосов
/ 21 августа 2011

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

config.php

<?PHP
define('DBHOST', 'localhost');
define('DBPORT', '8080');
define('DBNAME', 'my_db_name');
define('DBUSER', 'root');
define('DBPASS', 'password');

db.php

<PHP
include('config.php');
$con = mysql_connect(DBHOST.':'. DBPORT,DBUSER,DBPASS);
mysql_select_db(DBNAME, $con);

Благодаря этому кому-то будет легче вносить изменения в будущем, вместо того, чтобы перебирать код, чтобы найти, где установлены какие-либо соединения и т. Д.

Для повышения безопасности сценарий config.php может быть размещен вне корня документа, поэтому его нельзя вызвать напрямую.

2 голосов
/ 21 августа 2011

Я никогда не кодирую информацию для входа в код PHP.Я всегда помещаю это в отдельный файл, который включается в фактический файл кода PHP.Таким образом, вам никогда не нужно показывать данные для входа никому.И немного усложняет доступ к файлу, если кто-то пытается подделать веб-сервер.

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