Мне нужен способ передать переменную между двумя страницами безопасным способом.
Я знаю, что я могу использовать POST / GET / Cookie / Session или скрытые поля, но я думаю, что ни один из этих способов недостаточно безопасен, потому что:
get можно увидеть в URL-адресе
cookie – клиентская сторона, поэтому это может быть изменение от клиента
сессия может противостоять захвату ID и …
Теперь я хочу знать, есть ли другие способы лучше, чем эти способы, и если их нет, это лучший способ передать переменные безопасным образом;
Сессия – самый безопасный метод, который у вас есть.
Восстановление идентификатора сеанса поможет избежать захвата сеанса, но SSL через https действительно защитит его.
BTW: Если сеанс взломан и вы показываете пользовательские данные клиенту, не имеет значения, как вы получили данные на вторую страницу, угонщик это увидит. Если вы используете его только на стороне сервера, угонщик его не увидит.
Передача значений переменных между страницами с использованием сеанса наиболее безопасна
и восстанавливать идентификатор сеанса session_regenerate_id
всякий раз, когда уровень безопасности изменяется (например, вход в систему). Вы можете даже восстановить идентификатор сеанса каждый запрос, если хотите.
Хорошо для чтения
Руководство по безопасности PHP: сеансы
поскольку сеанс – это серверная сторона, наиболее безопасный способ передать переменные и предотвратить захват сеанса, вы можете использовать функцию session_regenerate_id в php в руководстве: http://php.net/manual/en/function.session-regenerate-id. PHP
но это не означает, что вы всегда используете сеансы для передачи переменных, которые по-прежнему могут использовать файлы cookie, но шифруйте данные перед их сохранением в файлах cookie.
Нет ничего плохого в использовании GET – если они правильно дезинфицированы … вы всегда можете совместить get с хешем параметров, чтобы уменьшить риск его вмешательства в работу, а также использовать сеансы, чтобы гарантировать, что они также являются законными ,