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!"; } ?> 
Может ли пользователь войти без безопасного пароля?
Нет. Данные в переменной $ _SESSION хранятся на сервере, недоступном для пользователя.
Сессия связана с пользователем через файл cookie. Куки с идентификатором (то есть длинной случайной строкой) отправляются пользователю для идентификации пользователя и ссылки на его сеанс. Если кто-то еще получит доступ к этому куки-файлу, он может использовать тот же код, чтобы притворяться, что он пользователь, и таким образом он может войти без пароля.
  Сеанс может быть изменен только с PHP-кода, в отличие от $_POST, $_GET, $_COOKIE т. Д. 
  В стороне, я думаю, вы можете использовать empty() для упрощения вашего условного: 
 <?php session_start(); if (!empty($_SESSION['authenticated']) { echo "Super secret stuff!"; } ?> 
Сессия может быть изменена в разных случаях. См. Это -> Отравление сеанса