Лучший способ подключения к MySQL с PHP надежно

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

<?php if(!defined('IN_PHP')){ die("hackerssss"); } $mysql_host = "localhost"; $mysql_user = "root"; $mysql_pass = "root"; $mysql_db = cokertrading; ?> 

Какие-либо предложения?

Предложение. Вероятно, вы никогда не должны запускаться как root; создать другую учетную запись и предоставить ей «наименее» привилегии, необходимые для вашего сайта.

Я могу поверить, что никто еще не упомянул MYSQLI и подготовленные заявления , вы можете заблокировать свой пароль и соединение с базой данных, но это, в конечном счете, бесполезно, если я просто могу набрать ';DROP TABLE users;-- в форме входа.

Проверьте http://en.wikipedia.org/wiki/SQL_injection за идею о том, о чем я говорю.

  • Определите пару правильных учетных данных для входа вместо «root / root» (измените имя пользователя на что-то еще и выберите сложный пароль);

  • если возможно, ограничивайте доступ к базе данных локальным хостом на уровне брандмауэра или, как говорит @Scott в комментариях, установите mySQL для прослушивания соединений только с 127.0.0.1. Если оба варианта невозможны, ограничьте доступ на уровне mySQL. ( "username"@"localhost" )

  1. Помните, что любой, кто может прочитать этот файл, будет знать ваш пароль SQL: установите его для чтения другим.
  2. Не входите в систему с помощью root: создайте пользователя для каждого приложения.
  3. Не используйте «root» в качестве пароля root.
  4. Не предоставляйте свой пароль всем.

Поскольку скрипты PHP являются серверными, т. Е. Они анализируются на сервере, и только вывод отправляется в браузер – то, как вы это делаете, совершенно безопасно.

Единственный способ, которым люди могли бы получить ваше имя пользователя и пароль, – это фактически взломать ваш сервер и просмотреть исходный код – в этом случае для защиты от этого нет способа (в PHP).