Можно ли восстановить данные, сохраненные в сеансе php? (Проблема безопасности)

Чтобы уважать конфиденциальность пользователей, мне нужно зашифровать информацию каждого пользователя ключом, который знают только они сами. Сервер и любой, кто может получить доступ к серверу или базе данных, не должны быть доверенными

Итак, я собираюсь использовать пароль каждого пользователя для шифрования его / ее критически важных данных. и это причина того, что мне нужно хранить пароль, пока сеанс жив, чтобы зашифровать и расшифровать их информацию.

И вот вопрос: если я сохраню пароль в сеансе, сможет ли злоумышленник с полным доступом к серверу извлечь сохраненный пароль из сеанса?

0

Решение

Ваш вопрос не имеет большого смысла.

Мне нужно зашифровать информацию каждого пользователя ключом, который знают только они сами.

Вы говорите о сквозном шифровании

Мне нужно хранить пароль, пока сеанс жив

Вы знаете пароли пользователей!

Вы должны решить, хотите ли вы использовать сквозное шифрование (когда они никогда не покидают компьютер пользователя), или нет.

может ли злоумышленник с полным доступом к серверу получить сохраненный пароль из сеанса?

да

2

Другие решения

Краткий ответ: Да, злоумышленник с полным доступом к серверу может получить пароль из временного файла сеанса.

Вот быстрый пример, где мы помещаем файл сеанса рядом с нашим php-файлом и затем читаем его содержимое.

<?php

session_save_path('./');
session_start();

$_SESSION['password'] = 'xc4qh8wzza1xmx6vhf0nfuzluigqxlj';

echo file_get_contents('./sess_' . session_id());

?>

Результат

пароль | s: 31: «xc4qh8wzza1xmx6vhf0nfuzluigqxlj»;

Как видите, данные хранятся в виде простого текста и могут быть легко прочитаны.

1

По вопросам рекламы [email protected]