Данные формы не должны быть изменены методом POST через браузер - PullRequest
0 голосов
/ 04 июня 2019

У меня есть одно веб-приложение на PHP. Я использовал метод POST для входа в систему.Мои данные для входа в систему, такие как имя пользователя и пароль, становятся видимыми, когда я проверяю их в браузере Firefox и даже в отчете об уязвимости .Пожалуйста, дайте мне решение, а не сертификат SSL

1 Ответ

0 голосов
/ 04 июня 2019

Единственный правильный способ сделать это - ssl, поскольку он зашифрован в протоколе. Вы можете получить бесплатные сертификаты от https://letsencrypt.org/, и процедура установки довольно проста.

Один из обходных путей WEAK - хеширование пароля со случайной солью, которую вы держите в сеансе, для проверки входа на сервер:

  • (сервер) начать сеанс, генерировать случайную строку (например, $ _SESSION ['salt'] = 'fffgjgjruydhns');
  • (сервер) передает строку в браузер, внутри html;
  • (браузер), когда пользователь отправляет форму, хэширует пароль со случайной строкой, что-то вроде sha256 (пароль + randomString)
  • (браузер) отправляет хешированную строку на сервер
  • (сервер) проверяет, совпадает ли пароль, сохраненный на сервере с солью из сеанса, со значением, полученным от клиента: sha256 (vedPassword + $ _SESSION ['salt']) == $ _POST ['hashedPassword «].

Некоторые важные замечания по поводу алгоритма выше:

  • вы должны написать реальный код, в javascript нет функции sha256, возможно, вам следует использовать внешнюю библиотеку
  • алгоритм предполагает, что вы храните пароль пользователя на сервере (и это не рекомендуется, поскольку вы должны хранить его хешированное значение);

Другой способ сделать это - реализовать систему public-private на уровне приложения (сервер генерирует public-private ключ, отправляет открытый ключ в браузер, браузер шифрует пароль, отправляет его на сервер, сервер расшифровывает его с помощью закрытого ключа). Но эту систему будет сложнее реализовать, чем просто получить сертификат.

Итак, во-первых, попытайтесь установить нормальную SSL-среду, это поможет вам в долгосрочной перспективе.

...