Не получается защитить страницу от неавторизованного пользователя...

Рейтинг: 0Ответов: 2Опубликовано: 31.05.2011

В примере, написано, на каждой странице защищенной зоны до тега <html> надо поставить код:

<?php
session_start();
if ($autorize!=1) die ("несанкционированный доступ");

?>

Ставлю код, но страница не блокируется.. Сохраняла странцу в формате .php.

Выдает ошибку:

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Ответы

▲ 1
<?php
    session_start();
    if ($_SESSION['autorize'] != 1)
    {
        die('Несанкционированный доступ!');
    }
?>

Но помните, что в $_SESSION['autorize'] должна быть единица, присвоенная туда в процессе авторизации!

▲ 1

Все зависит от того каким образом Вы пытаетесь ограничить доступ. Если эта страница должна быть доступна для доступа зарегистрированным пользователям, которые авторизовались на сайте, то делайте как в ответе выше. Но я бы добавил. Вместо die('Несанкционированный доступ!')

header('Location: адрес страницы с формой авторизации на сайте'); exit;

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

<?php if (!defined('ACCESS')) {exit('Несанкционированный доступ!')}

А в файле где вы будете подключать эту страницу создайте константу define('ACCESS', true) Т.е.

<?php define('ACCESS', true); require 'somepage.php';