Я создал программу, в которой пользователь должен войти в систему первым. Однако, когда я захожу на определенную страницу, пользователь все равно может просматривать ее, даже если он не вошел в систему. Я на самом деле это решил (моя программа запрещает доступ, когда не вошел в систему), но, как оказалось, программа ограничивает тип пользователя ‘user’ (кстати, у меня есть три типа пользователей: пользователь, менеджер, администратор) от входа в систему и позволяет только администратор и администратор.
Вот мой код:
<?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>
<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>
<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>
Задача ещё не решена.
Других решений пока нет …