Ed ecco gli script ...
index.php (contiene il login che si può fare semplicemente in html)
Codice:
<div align=center>
<table><tr><td>
<form action="transito.php" method="POST">
Username: <input type="text" name="user"><br>
Password: <input type="text" name="pass"><br>
<input type="submit" value="invia">
</form>
<br>
</td></tr></table>
</div>
transito.php questa è la pagina focale, il cuore del sistema
essa controlla username e password tra quelle inserite dall'utente
a quelle contenute nella tabella****
PHP:
<?php
ob_start();
$user_=addslashes($_POST['user']);
$pass_=addslashes($_POST['pass']);
$user=htmlspecialchars($user_);
$pass=htmlspecialchars($pass_);
echo "$user - $pass <br>";
include "dati-connessione_al_database**.php";
$query=mysql_query("SELECT user**, pass** FROM tabella** WHERE user**='$user' AND pass**='$pass'");
$corretto=mysql_num_rows($query);
if($corretto > 0){
if(!isset($_SESSION)){session_start ();}
$_SESSION['autorizzato']=htmlspecialchars($pass_);
echo "<div align=center> - verifica: OK <br>";
echo "contenuto della variabile session autorizzato:".$_SESSION['autorizzato']."<br>";
echo " 5 secondi andrai alla pagina riservata<br></div>";
header('Refresh: 5; url=area_riservata.php');
}else{
header("location:index.php");
}
ob_end_flush();
?>
ed ecco l'
area_riservata.php in cui NON si può accedere direttamente...
provate...
area_riservata.php
non appena cliccate non vedrete la foto di Bufalo Bill e il cane che ride ma bensì
il login ... ed esattamete la pagina
index.php
area_riservata.php
PHP:
<?php
if(!isset($_SESSION['autorizzato'])){
session_start();
print $_SESSION['autorizzato']." - sessione creata<br>";
}
if(isset($_SESSION['autorizzato'])){
echo "<HTML>
<HEAD>
<TITLE>area riservata</TITLE>
</HEAD>
<BODY>
<div align=center>
<h1>Area riservata di Bufalo Bill</h1><br>
<img src='http://www.mondoraro.org/wp-content/uploads/2010/05/Wild-Bill-Hickok-219x300.jpg' width='219' height='300'><br> <img src='http://web.tiscali.it/max_400/mutley.gif' width='119' height='200'><br>
<br>
</div>
</BODY>
</HTML>";
}else{
header("location:index.php");
}
?>
<div align=center>
<br>
<a href="sessiondestroy.php">distruggi sessione!</a>
</div>
PS. IMPORTANTE: username e password giusti per andare alla pagina riservata
USERNAME:
banana
PASSWORD:
joe
fino a quando la sessione è attiva è possibile vedere la pagina riservata...
Se guardate in basso sotto le foto c'è un link "
distruggi la sessione" se cliccate su di esso andrete ad una pagina
che distrugge la sessione e quindi non avrete più accesso all'area riservata
provate!!!
ed ecco lo script
PHP:
<?php
session_start();
session_destroy();
print "<div align=center><font color=red size=6>sessione distrutta!! </font><br>Tra 5 secondi ritornerai al login...";
header('Refresh: 5; url=index.php');
?>
se riprovate ad andare su
area_riservata.php non vedrete più le foto ma il login
Morale della favola:
Proteggere la pagina
area_riservata.php da chi non si è loggato
...
Altre considerazioni:
il filtro htmlspecialchars penso non sia necessario visto che se non è essatta la password o l'user l'utente viene rimandato al login o meglio rimane esattamente dov'è
a voi Onorevoli la parola