PHP: Как скрыть пароль для подключения к базе данных / оператора электронной почты? - PullRequest
5 голосов
/ 20 сентября 2010

У меня есть сайт, разработанный на PHP. Существует 2 класса (в 2 отдельных файлах php), которые содержат идентификатор пользователя и пароль gmail от siteadmin (в виде простого текста) и пароль базы данных (снова в виде простого текста). Хотя ни один из этих классов не отображается в браузере (например, index.php). Эти файлы содержат только классы php и не содержат html-кода, а ссылки на эти простые текстовые пароли есть только через объекты этих классов. Поздно, я начал задаваться вопросом, достаточно ли это безопасно? Я старался изо всех сил (действуя как злоумышленник), чтобы попытаться прочитать содержимое двух указанных файлов php, но не смог этого сделать. Я не очень разбираюсь в разработке безопасного кода, поэтому не уверен, каким должен быть мой подход, чтобы эти пароли никогда не были раскрыты. Может ли кто-нибудь, пожалуйста, предложить лучшие практики для разработки php-кода, который может безопасно содержать такую ​​конфиденциальную информацию.

Ответы [ 3 ]

4 голосов
/ 20 сентября 2010
  • Поместите настраиваемые элементы в отдельный файл конфигурации над общедоступным веб-каталогом
  • Убедитесь, что вы установили правильные права доступа к файлам для своих файлов
  • Проверьте локальное веб-приложение (и удаленный) включение файла
  • Обновите свой сервер

Наличие ваших паролей в безопасном месте не является полным решением, вам нужно иметь полный PHPприложение защищено, и никто неавторизованный не сможет получить root / администраторский доступ к серверу.

0 голосов
/ 26 октября 2013
  1. Не храните пароли в файлах, потому что кто-то в конечном итоге проверит этот файл в системе контроля версий. Или кто-то неправильно установит разрешение.

  2. Запустите приложение со своей учетной записью пользователя O / S

  3. Поместите пароли в переменную среды O / S для пользователя приложения (не системной переменной среды)

0 голосов
/ 30 января 2012

Во-первых, я бы посмотрел на использование OAuth для доступа к GMail , если это вообще возможно - это означает, что вам вообще не нужно хранить учетные данные, и обеспечивает некоторый уровень защиты в случае, если ваш сервер делаетполучить компромисс.

Я бы также посмотрел ответы на этот вопрос .

Наконец, если ваш сайт находится в общедоступном Интернете, стоит ознакомиться хотя бы с основами интернет-безопасности и особенно с безопасностью веб-приложений.Есть много способов, как все может пойти не так.Мне нравятся "взломанные" книги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...