PHP限制页面

时间:2012-02-24 06:06:51

标签: php validation cookies

我正在创建一个我正在创建的网站的问题所以我想知道:

如何通过执行以下操作来阻止未经身份验证的用户访问网站:

Website.com/content

假设未经身份验证的用户无法访问页面内容,但如果他们直接在地址栏中编写,则可以看到内容。那我怎么能防止这种情况发生呢?如何才允许经过身份验证的用户在地址栏中写入内容时看到内容?

我想使用cookies来实现这一点......就像我已经使用数据库实现身份验证一样。

3 个答案:

答案 0 :(得分:0)

支票

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

页面上。

UPDATE:在开始输出之前放置它。如果您没有使用ob_start,则表示页面顶部。

答案 1 :(得分:0)

假设您有错误消息“website.com/unauthorize”

的页面

和一个inlcude文件,“check_auth.php”,当用户登录时,验证用户并传递并创建值为“0或1”的cookie“userLogin”。 1表示成功登录,0表示无效id / pass。

并在每个要限制的文件中包含check_auth.php。

include "check_auth.php";

并在此文件中写:

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

这将检查登录状态,并将未授权用户重定向到错误页面。将此文件包含在您需要限制的顶部的所有页面中。

答案 2 :(得分:-1)

我通常是一名asp.net开发人员。在asp.net中我们有一个母版页,它就像一个模板,你可以将其他内容页面放入其中。

如果PHP有类似的东西(包括?)那么你可以创建一个函数来检查用户是否应该在他所在的位置,如果没有将他重定向到登录页面。并将其包含在所有无法访问的页面上。