首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有一个PHP重定向到登录页面,而不是强制登录

问有一个PHP重定向到登录页面,而不是强制登录
EN

Stack Overflow用户
提问于 2013-03-31 20:32:01
回答 3查看 1.1K关注 0票数 2

我创建了一个用于游戏服务器管理的小型php站点,但它不会强制未登录的用户登录。如果会话不是活动的,我添加了一个重定向,并在注销时销毁了会话。该站点位于此处http://zelware.co.uk/gameman

它会强制你第一次登录,但是如果你把login.php从网址中去掉,它会让你再次进入主页面。如有任何帮助,将不胜感激,谢谢!

EN

回答 3

Stack Overflow用户

发布于 2013-03-31 20:38:35

您需要一个if语句,其中

代码语言:javascript
复制
$_SESSION['loggedin']==TRUE; 

检查是否有人已登录。还可以考虑设置session_id()并用它重定向。

票数 0
EN

Stack Overflow用户

发布于 2013-03-31 21:04:54

要对用户进行身份验证,您需要一个简单的机制:

  • 所有页面都应该受到检查的保护,该检查将查找某个会话值,如果该值不存在,则重定向到登录页面。您可以在单独的函数/文件中编写此检查的代码,并将其调用/包含在站点的每个页面中。

is_user_logged_in(){ return $_ session‘’logged_ in‘;//它是一个布尔值,应由登录函数设置为TRUE }//在您的每一页中,您都应该调用此if ( !is_user_logged_in() ){ //重定向到您的登录页头(“Location:http://yoursitename.com/login_page.php");}

  • 登录页应验证用户名/密码,如果有效,则每隔一页创建您正在检查的会话值。

if ( valid_user($username,$password) ){ //这是您应该在其他页面中检查的值$_ session‘’logged_ in‘= TRUE;//您可能还需要将其他与用户相关的信息存储在会话$_ session 'user’= array("id“=> 1,"username”=> "test_user")中//来自DB的数据数组}

  • 注销页面将销毁您在每隔一个页面中检查的会话值。

未设置($_SESSION‘’logged_in‘);session_destroy();

票数 0
EN

Stack Overflow用户

发布于 2013-03-31 23:33:35

您需要创建一种机制来验证用户是否已登录。登录时,系统会设置一个会话cookie --一个随机的、唯一的哈希。哈希值以cookie的形式存储在数据库中,同时存储的还有用户名、密码、IP和登录时间。

当用户访问页面时,您调用一个函数,看起来有点像这样:(不完全是,这并不是很好,只是基本的检查,您还应该检查IP是否匹配以及会话是否已过期)

代码语言:javascript
复制
  function verify_login() {
 //
 $hash = $_COOKIE['loginhash'];
    if($hash != ''):
        $hash = mysql_real_escape_string($hash);
        $sql = "SELECT * FROM session WHERE hash = '$hash'";


    else:
        header('Location: login.php');
    endif;



    $res = mysql_query($sql) or die(mysql_error());

    if(mysql_num_rows($res) !=0):
    while($row = mysql_fetch_assoc($res)) {
                                    echo 'The user is logged in.';


    }
    else:
        header('Location: login.php');
    endif;

      }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15729395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档