Ограничение PHP на страницы - PullRequest
0 голосов
/ 24 февраля 2012

У меня проблема с веб-сайтом, который я создаю, поэтому я хочу знать:

Как я могу предотвратить доступ неавторизованного пользователя к веб-сайту, выполнив что-то вроде:

Website.com / content

Предполагается, что неаутентифицированный пользователь не может получить доступ к содержимому страницы, но если он пишет его непосредственно в адресной строке, он может видеть содержимое.Так как я могу предотвратить это?Как сделать так, чтобы аутентифицированные пользователи могли видеть контент только тогда, когда они пишут его в адресной строке?

Я хочу сделать это с помощью файлов cookie ... кстати, я уже реализовал аутентификацию с использованием базы данных.

Ответы [ 3 ]

0 голосов
/ 24 февраля 2012

поставить чек

<?
if (!authorized()) { # substitite with your own authorize function
    header('401 Unauthorized', 401);
    die('You are not authorized!');
}
?>

на странице.

ОБНОВЛЕНИЕ: поместите его перед началом вывода. Если вы не используете ob_start, это означает, что вверху страницы.

0 голосов
/ 24 февраля 2012

Допустим, у вас есть страница с сообщением об ошибке "website.com/unauthorize"

и файл inlcude" check_auth.php ", когда пользователь вошел в систему, подтвердит права пользователя, передаст и создаст cookie"userLogin "со значением 0 или 1. 1 для обозначения успешного входа в систему, 0 для недопустимого идентификатора / пароля.

и включите check_auth.php в каждый файл, в котором вы хотите ограничения.

include "check_auth.php";

и в этом файле напишите:

<?php 
if ( ! isset($_COOKIE['userLogin']) && $_COOKIE['userLogin'] != 1 )
{
    header("Location: website.com/unauthorize");
}

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

0 голосов
/ 24 февраля 2012

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

Если в PHP есть что-то похожее (включая?), То вы можете создать функцию, которая проверяет, должен ли пользователь находиться там, где он есть, и, если нет, перенаправляет его на страницу входа. И включите это на всех недоступных страницах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...