Может ли пользователь изменить сеанс PHP?

page1.php:

<?php session_start(); if ($_POST['password'] == "testpass") $_SESSION['authenticated'] = true; ?> 

page2.php

 <?php session_start(); if (isset($_SESSION['authenticated']) && $_SESSION['authenticated'] == true) { echo "Super secret stuff!"; } ?> 

Может ли пользователь войти без безопасного пароля?

Solutions Collecting From Web of "Может ли пользователь изменить сеанс PHP?"

Нет. Данные в переменной $ _SESSION хранятся на сервере, недоступном для пользователя.

Сессия связана с пользователем через файл cookie. Куки с идентификатором (то есть длинной случайной строкой) отправляются пользователю для идентификации пользователя и ссылки на его сеанс. Если кто-то еще получит доступ к этому куки-файлу, он может использовать тот же код, чтобы притворяться, что он пользователь, и таким образом он может войти без пароля.

Сеанс может быть изменен только с PHP-кода, в отличие от $_POST, $_GET, $_COOKIE т. Д.

В стороне, я думаю, вы можете использовать empty() для упрощения вашего условного:

 <?php session_start(); if (!empty($_SESSION['authenticated']) { echo "Super secret stuff!"; } ?> 

Сессия может быть изменена в разных случаях. См. Это -> Отравление сеанса