修复拒绝访问(PHP)

修复拒绝访问(PHP),php,html,session,login,restrict,Php,Html,Session,Login,Restrict,我创建了一个用户必须首先登录的程序。但是,当我转到某个页面时,即使用户未登录,也可以查看该页面。我实际上已经解决了这个问题(我的程序在未登录时拒绝访问),但事实证明,该程序限制用户类型“user”(顺便说一句,我有三种用户类型:user、manager、admin)登录,并且只允许manager和admin。 这是我的密码: <?php if (!isset($_SESSION)) { session_start(); } $MM_authorizedUsers = ""; $MM_d

我创建了一个用户必须首先登录的程序。但是,当我转到某个页面时,即使用户未登录,也可以查看该页面。我实际上已经解决了这个问题(我的程序在未登录时拒绝访问),但事实证明,该程序限制用户类型“user”(顺便说一句,我有三种用户类型:user、manager、admin)登录,并且只允许manager和admin。 这是我的密码:

<?php
if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";


function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 

  $isValid = False; 


  if (!empty($UserName)) { 

    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 

    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "invalid.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0) 
  $MM_referrer .= "?" . $QUERY_STRING;
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}
?>
<html>
<head>
<title> Home </title>

</head>
<div align="center">
<img src="590px-HGST_CompanyLogo.svg.png" alt="Home" style="width:300;height:100">
<br><br><h3><font face="arial black"size="5"color="#002E8A"> Welcome, LAB USER! </font></h3></div>

<body>

<hr width="80%">
<center>

<a href="search.php" target="_blank"> <img src="search-button-png-hi.png" alt="Search error" style="width:200px;height:80px;border:0"></a> &nbsp;
<a href="form.php" target="_blank"><img src="report-button-png-hi.png" alt="Rerport error" style="width:200px;height:80px;border:0"></a> <br>
<a href="download.php" target="_blank"> <img src="download-button-2468711.jpg" alt="Download error files" style="width:200px;height:65px;border:0"><font size="5"></font></a>
&nbsp;
<a href="files/uploadfile.php" target="_blank"><image src="upload-button-png-hi.png" alt="Upload error reports" style="width:200px;height:65px;border:0"></a>
<br><br>

<table>
<ul>
<tr><td><font size="5"><li>Click <a href="files/uploadfile" target="_blank">here</a> to view uploaded files.
</tr></td></font>
</li>

</table>
<br><font size="5">
<a href="logout.php">Logout</a></font>
</center>
</font>

</body>
</html>


欢迎,实验室用户!


  • 单击以查看上载的文件。


如果您没有在标题中提到的问题,请编辑标题,说明问题的实质。也不要在标题中添加标记。如果(!isset($_SESSION)){SESSION_start();}删除此条件只需使用`SESSION_start();`在top@SamiKuhmonen对不起,我是新来的。@saty谢谢!成功了<代码>如果($strUsers==“”)和&true){…您可能也需要关注这一点。