目前我有一個非常基本的管理登錄系統。我可以通過我的admin_login.php頁面登錄,該頁面有一個來自我的login.php頁面的腳本,我可以從admin_control_panel.php更新記錄。我主要關心的是,任何人都可以直接在地址欄中輸入這些URL並繞過登錄過程。我現在的代碼並不是基於安全性的(我只是試圖讓我所有的基本功能和功能都能正常運行,然後我將專注於安全性)。如果未在管理面板上登錄,如何重定向用戶需要指導
我知道我必須使用會話來跟蹤用戶是否登錄,但我對將在哪裏實現這些會話感到有點困惑。
我的問題是:我在哪些頁面中包含代碼?哪些頁面包含這些會話?我在這些文件中包含什麼?
我想要的是能夠將用戶重定向到登陸頁面,如果他們還沒有登錄。
admin_login.php
<?php
$dbhost = 'x';
$dbuser = 'x';
$dbpass = 'x';
$con = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('x');
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/master.css">
</head>
<body>
<form method="post" action="login.php">
User:<input name="username" type="text">
Pass:<input name="password" type="password">
<input name="submit" type="submit" value="Submit">
</form>
</body>
</html>
的login.php
<?php
$dbhost = 'x';
$dbuser = 'x';
$dbpass = 'x';
$con = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('x', $con);
$query = "SELECT username FROM members ".
"WHERE username=\"$_POST[username]\" ".
"AND password = \"$_POST[password]\"";
$result = mysql_query($query, $con);
mysql_data_seek($result, 0);
if (mysql_num_rows($result) == 0)
header("Location: admin_login.php");
else
header("Location: admin_control_panel.php");
?>
admin_control_panel.php
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 3</title>
</head>
<body>
<?php
include('./upload.html');
?>
</body>
</html>
預先感謝您。