Защита пароля MySQL в скрипте PHP - PullRequest
4 голосов
/ 29 января 2012

Кажется, я не могу получить прямой ответ на этот вопрос, так что, надеюсь, кто-нибудь может помочь.

Если я включу оператор mysqli_connect() в свой скрипт PHP, а также включу мое имя пользователя и пароль MySQL, будут ли эти данные уязвимы в любой момент? Очевидно, что что-то между скобками PHP не обслуживается на стороне клиента (и, следовательно, не должно просматриваться при просмотре исходного кода и т. Д.), Но есть ли другой способ, которым эти детали могут быть скомпрометированы?

1 Ответ

5 голосов
/ 29 января 2012

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

Лучший способ обойти это, это удалить все из своего корня, кроме файла index.php, который включает только один файл за пределами каталога. Это также означает, что ваш исходный код не будет скомпрометирован при условии, что PHP не будет работать.

например. /var/www/public_html содержит только один файл: index.php:

<?php require("../entrypoint.php");

А все остальное тогда находится в /var/www. Если PHP потерпит неудачу, будет взломан только index.php.

Это сделает его совершенно безопасным, если только ваш сервер не будет взломан или вы не позволите пользователям выполнять код PHP, но это совсем другой вопрос. Большинство модульных CMS также сбрасывают все переменные соединения после инициализации соединения, чтобы один из модулей не мог случайно что-либо раскрыть.

...