Witam serdecznie, na podstawie jednego z kursów php udało mi się zrobić prosty panel logowania jednak ma on swoje wady które chciałbym wyeliminować... A więc... stworzyłem plik index.php w którym mamy formularz oraz prostą instrukcje warunkową. Po jej spełnieniu przenosi mnie na content.php. Zrobiłem również plik logout który ma za zadanie przenieść mnie do index.php. Fajnie że się loguje i wylogowuje jednak do panelu można się dostać np podając w adresie /content.php... Chiałbym to jakoś zabezpieczyć tak żeby jedyną droga dostania się było podanie prawidłowego loginu i hasła oraz przydało by się jakies ograniczenie czasowe - np po 5 minutach admin sam się wylogowuje. Dodam tylko że dopiero raczkuje w php ale chętnie się uczę

Proszę Was o jakieś pomysły, przykłady, rozwiązania... Z góry dziekuje i życze wszystkim zdrowych i spokojnych świąt

index.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Baza klientów</title>
<link rel=stylesheet href="style.css">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300' rel='stylesheet' type='text/css'>
<script src="http://code.jquery.com/jquery.min.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<div id="kontener_admin">
<div id="admin">
<form method="POST" action="">
<fieldset>
<legend>Zaloguj się do bazy</legend><br />
<label>Login: </label><input type="text" name="username" value="" /><br />
<label>Hasło: </label><input type="password" name="password" value="" /><br />
<input type="submit" value="Prześlij" class="btn" />
</fieldset>
<input type="hidden" name="checker" value="1" />
</form>
<?php
define("PASSWORD","xsw21qaz");
if(isset($_POST['checker'])){
if(($_POST['username'] == LOGIN) && ($_POST['password'] === PASSWORD)){
$_SESSION['logged'] = true;
$_SESSION['login'] = $_POST['username'];
header("Location: content.php", true); } else {
echo "<br /><center><p style=\"color:red\">Zły login lub hasło!</p></center>"; }
}
?>
</div>
</div>
</body>
</html>
content.php
<?php require_once("db.php"); ?>
<?php require_once("header.php"); ?>
<?php require_once("sidebar.php"); ?>
<?php
?>
<div id="main">
<?php
$lista = "SELECT * FROM klienci";
echo '<table cellpadding="0" border="1">'; echo '<tr><td>' . $row["id"] . '</td><td>' . $row["nazwa"] . '</td><td>' . $row["email"] . '</td><td>' . $row["telefon"] . '</td><td>' . $row["dzielnica"] . '</td><td>' . $row["ulubione"] . '</td></tr>'; }
?>
</div>
<?php require_once("footer.php"); ?>
logout.php
<?php
if(isset($_SESSION['logged']) && (!empty($_SESSION['login']))) { header("Location: index.php", true);
} else {
echo "<h1>zooonk! :)</h1>"; }
?>
Ps. jeżeli widzicie jakieś rażące babole bezpieczeństwa itp to bardzo proszę o uwagi
Ten post edytował d4ng 22.12.2013, 09:47:23