Ben bir giriş gerektirir PHP, bir müşteri için bir admin paneli oluşturduk. İşte yapman gereken kullanıcı yönetici sayfanın üstündeki kodu:
admin.php
<?php
session_start();
require("_lib/session_functions.php");
require("_lib/db.php");
db_connect();
//if the user has not logged in
if(!isLoggedIn())
{
header('Location: login_form.php');
die();
}
?>
Açıkçası, eğer deyim onları yakalar ve burada çıkan giriş sayfasındaki kod oturum zorlayan budur:
login_form.php
<form name="login" action="login.php" method="post">
Username: <input type="text" name="username" />
Password: <input type="password" name="password" />
<input type="submit" value="Login" />
</form>
Bu denetleyici sayfada için hangi mesajlar bilgiler:
login.php
<?php
session_start(); //must call session_start before using any $_SESSION variables
include '_lib/session_functions.php';
$username = $_POST['username'];
$password = $_POST['password'];
include '_lib/db.php';
db_connect(); // Connect to the DB
$username = mysql_real_escape_string($username);
$query = "<grab username, hashed password from DB>;";
$result = mysql_query($query);
if(mysql_num_rows($result) < 1) //no such user exists
{
header('Location: login_form.php?login=fail');
die();
}
$userData = mysql_fetch_array($result, MYSQL_ASSOC);
db_disconnect();
$hash = hash('<myHashingFunction>', $password . $userData['salt']);
if($hash != $userData['password']) //incorrect password
{
header('Location: login_form.php?login=fail');
die();
}
else
{
validateUser(); //sets the session data for this user
}
header('Location: admin.php');
?>
ve giriş fonksiyonları sağlar oturum işlevleri sayfası bu içerir:
session_functions.php
<?php
function validateUser()
{
session_regenerate_id (); //this is a security measure
$_SESSION['valid'] = 1;
$_SESSION['userid'] = $username;
}
function isLoggedIn()
{
if($_SESSION['valid'])
return true;
return false;
}
function logout()
{
$_SESSION = array(); //destroy all of the session variables
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
session_destroy();
}
?>
Ben bir online öğretici sessions_functions.php kod yakaladı, bu nedenle şüpheli olabilir.
Admin paneline kullanıcı günlükleri, bir şeyler yapmaya çalışıyor, neden Herhangi bir fikir, yeniden giriş zorunda kalır ve SONRA admin panelinde normal gibi şeyler yapmak için izin verilir?