Ответ 1
Предложение. Вероятно, вы никогда не должны запускаться как root; создать другую учетную запись и предоставить ей "наименее" привилегии, необходимые для вашего сайта.
Я хочу внести свой вклад в то, что вы, ребята, думаете, самый безопасный способ подключения к базе данных 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" (измените имя пользователя на что-то еще и выберите сложный пароль);
если возможно, ограничьте доступ к базе данных на localhost на уровне брандмауэра или, как говорит @Scott в комментариях, установите mySQL для прослушивания соединений только с 127.0.0.1. Если оба варианта невозможны, ограничьте доступ на уровне mySQL. ("username"@"localhost"
)
Поскольку скрипты PHP являются серверными, т.е. они анализируются на сервере, а только вывод отправляется в браузер - то, как вы это делаете, совершенно безопасно.
Единственный способ, которым люди могли бы получить ваше имя пользователя и пароль, - это фактически взломать ваш сервер и просмотреть исходный код - в этом случае нет способа (в PHP) защитить это.