В PHP: существует ли способ для пользователя фальсифицировать переменную сеанса?
Это безопасно для доверия значению переменной сеанса для системы входа в систему?
Данные сессии хранятся на сервере. Между клиентом и сервером передается только идентификатор сессии. Если только скрипт на стороне сервера не ошибся (или нет ошибки), клиент не может изменить данные сессии напрямую. Но вы должны убедиться, что только "правильный" клиент знает идентификатор сессии, поскольку он привязывает этого конкретного клиента к конкретной сессии. Например, (поскольку вы упомянули вход в систему) используйте session_regenerate_id() всякий раз, когда происходит вход (попытка), чтобы предотвратить фиксацию сессии
Да. Это называется подделка/угон сессии.
Вы изменяете значение куки сессии до тех пор, пока не получите другую сессию пользователя.
Сессии хранятся на вашем сервере либо в файле, либо в памяти. У пользователя есть только cookie, который определяет путь (обычно хэш какой-то формы) к данным сессии на вашем сервере. Теоретически вы можете изменить cookie на чей-то хэш, но это очень и очень маловероятно, если только вы не храните их в виде файлов и не удаляете их после истечения срока действия, в этом случае вероятность того, что кто-то воспользуется старой сессией, возрастет.