Я хочу, чтобы некоторые данные о том, что вы, ребята, считаете самым безопасным способом подключения к базе данных 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"
)
Поскольку скрипты PHP являются серверными, т. Е. Они анализируются на сервере, и только вывод отправляется в браузер – то, как вы это делаете, совершенно безопасно.
Единственный способ, которым люди могли бы получить ваше имя пользователя и пароль, – это фактически взломать ваш сервер и просмотреть исходный код – в этом случае для защиты от этого нет способа (в PHP).