как хранить строку подключения mysql - PullRequest
1 голос
/ 07 декабря 2010

В настоящее время я храню данные подключения в php-файле. но, как недавно произошло с Facebook, файлы php появлялись на экране без обработки, чтобы избежать такого сценария, есть ли их альтернатива?

Ответы [ 4 ]

1 голос
/ 07 декабря 2010

Если вас это беспокоит, добавьте исключение htaccess, которое делает файл «строки подключения» недоступным из Интернета.

RewriteRule /path/to/dbsettings.php /index.php [NC]

Полагаю, это правильно, хотя немного ржаво в поле htaccess. Любые гуру могут смело поправлять меня.

1 голос
/ 07 декабря 2010

Поместите свой файл, который содержит строку подключения, например: connect.php, вне папки webroot.

0 голосов
/ 07 декабря 2010

Сохраните вашу личную информацию о соединении в файле вне корневой папки вашего документа и используйте require_once для его загрузки.

Таким образом, если что-то случится, пользователи не смогут перейти на http://yoursite/db.config.php и загрузить ваш файл.

0 голосов
/ 07 декабря 2010

Наше решение - сохранить крошечный my.cnf только с определенным разделом [client]. Большинство коннекторов MySQL имеют директиву read_defaults_file, которая позволяет вам использовать файл напрямую.

Затем вы можете сохранить этот файл в безопасности, и сценарий завершится ошибкой на этой строке, если пользователь не авторизован для этой информации.

Если вы используете хотя бы php5, mysqli :: options делает именно то, что я описываю, когда указан MYSQLI_READ_DEFAULT_FILE. В более старых версиях php похоже, что встроенный parse_ini_file выполнит трюк при разборе.

Преимущество этого подхода в том, что он совместим с Perl, Python и C, поэтому при изменении информации в вашей базе данных вы просто обновляете один файл, и все ваши приложения остаются синхронизированными.

...