現時点では、非常に基本的な管理者ログイン システムを使用しています。admin_control_panel.php からレコードを更新できる login.php ページのスクリプトを含む admin_login.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>
前もって感謝します。