目前我有一个非常基本的管理员登录系统。我可以通过我的 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>
登录.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>
先感谢您。