在php登录脚本中显示页面

时间:2013-11-08 22:28:36

标签: php html5 security login login-script

请原谅我对这个主题缺乏经验。

我创建了一个基本的php登录系统,并试图让人们安全地访问某些页面。

我的问题是我只能添加您在下面看到的登录页面。

if ($login->isUserLoggedIn() == true) {
    include("views/logged_in.php");

如何向安全视图添加更多页面。假设我已将它们链接到logged_in文件。当我将它们上传到服务器时,我会继续获得403.路径都是正确的。

<?php


if (version_compare(PHP_VERSION, '5.3.7', '<')) {
    exit("Sorry, Simple PHP Login does not run on a PHP version smaller than 5.3.7 !");
} else if (version_compare(PHP_VERSION, '5.5.0', '<')) {

  require_once("libraries/password_compatibility_library.php");
}


require_once("config/db.php");


require_once("classes/Login.php");


$login = new Login();


if ($login->isUserLoggedIn() == true) {


    include("views/logged_in.php");


} else {

    include("views/not_logged_in.php");
}

2 个答案:

答案 0 :(得分:0)

您可能已经使用superglobar $ _session应用控制会话。请检查这个$ _SESSION si,如$ _GET或$ _POST变量。

http://us3.php.net/manual/en/function.session-start.php

答案 1 :(得分:0)

你所展示的问题是你似乎并没有将页面定义为需要在任何地方登录。

您可能希望在每个页面的顶部附近(可能是全局包含)中有类似的内容,这些内容会在发送任何其他标头之前执行:

if (page_requires_login() && $login->isUserLoggedIn() == false) {
    // send 403 header and exit or redirect or whatever it is you want to do with insecure requests
}

// continue page logic

当然,这里的问题是如何确定页面是否需要登录(在我的示例中由函数调用page_requires_login表示以进行此确定)

有很多方法可以实现这一目标。您可以硬编码需要登录的页面数组,并具有检查当前正在执行的页面是否在此数组中的功能。您可以从数据库中提取安全页面列表以进行比较等。如果不了解您的应用程序,我们可以在这方面给您提供很多建议。