Скрытый элемент формы Безопасность пароля

0

У меня есть форма, которая должна передавать данные на две страницы.

На странице 1 пользователь заполняет несколько деталей. Страница 2 представляет им экран подтверждения, где они могут либо договориться, либо вернуться и отредактировать их детали.

На странице 2 значения со страницы 1 хранятся в скрытых формах.

Например

<input type="hidden" name="user_email" value="[email protected]" />

Когда пользователь нажимает submit на странице 2, некоторые PHP-коды запускаются, и они добавляются на сайт.

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

  • 0
    Если вы используете данные POST и ничего не добавляете к URL-адресу на странице 2, просто введите простой текстовый пароль в скрытое поле. Я бы настоятельно рекомендовал не помещать хешированный пароль в скрытое поле, потому что вы только что попросили его перепроектировать.
  • 0
    Почему вы думаете, что вывод пароля в скрытом поле формы не очень хорошая идея? Никто, кроме пользователя, не может прочитать его значение
Показать ещё 5 комментариев
Теги:
forms

3 ответа

3
Лучший ответ

Используйте переменные сеанса для хранения этой информации, никогда не передавайте ее на страницу в виде скрытых полей формы. $_SESSION

  • 0
    Мне нравится этот подход. Я установил переменную сеанса для хэшированного PW. Функция для хэширования PW является частью хорошо известного приложения с открытым исходным кодом, поэтому я не слишком беспокоюсь о том, что он будет перепроектирован. Какова лучшая функция для очистки значения перед попыткой его использования?
0

Введите данные, вставленные на страницу 1, в таблицу базы данных (называемую pending_user_register или что-то еще), которая имеет уникальный хеш (не просто используйте уникальный идентификатор), а затем ссылается на уникальный хеш в скрытом текстовом поле?

Или пройдите по простому маршруту и используйте $ _SESSION.

Или, используя описанный выше метод, но вместо скрытого поля поместите его в $ _SESSION.

0

Вы можете использовать password_hash() и можете хранить пароль в session или cookie

ИЛИ может хранить user data в базе данных и добавлять user_id в session и использовать этот id для последующего updation of fields.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню