EnglishFrenchGermanItalianPortugueseRussianSpanish





Privacy Policy

Info Cookie

Disclaimer

Stampa

Contatti



Mappa Sito










Siti amici

Protez. Civile Ceriale
Protez. Civile Albenga
Paracadutisti Savona
Vadoliguremeteo
Savonameteo
IW1PPB







 

Pagine protette in PHP

La creazione di una pagina protetta di un sito non e' un' operazione difficile ma occorre tenere presente alcuni punti:

Una protezione lato client e' sicuramente piu' facile da installare ma e' poco sicura in quanto la password risiede sul client e quindi e' facilmente rintracciabile.

Una protezione lato server e' sicuramente piu' affidabile in quanto la password risiede sul server.

In rete si trovano moltissimi script gratuiti che svolgono molto bene il loro compito sia in php che asp.. Le caratteristiche delle script in PHP presentato in questa pagina sono la facilita' di installazione e la buona sicurezza che offre.

Questo script per il suo funzionamento utilizza le sessioni.
Le sessioni sono piccoli file di testo salvati direttamente sul server che fa girare gli script,  possono contenere qualsiasi cosa noi vogliamo, per esempio variabili o dati in generale.

Lo script per il suo funzionamento necessita dei seguenti file:

form.htm
Questo file genera un semplice form da compilare con nome utente e password e quindi con il metodo POST lo invia al file:

controlla.php
Questo file che risiede solo sul server, controlla se il nome utente e la password corrispondano ai due valori da noi scelti. Il significato del codice e' il seguente:
$user = "pippo";
Creo una variabile di nome $user e le assegno il valore "pippo".

$pass = "1234";
Creo una variabile di nome $pass e le assegno il valore "1234";

if ($_POST['username'] == $user && $_POST['password'] == $pass)
La riga può essere così commentata: SE il valore immesso nel form alla voce username corrisponde al valore user E SE il valore immesso nel form alla voce password corrisponde al valore pass

{session_start();
ALLORA apri una sessione

$_SESSION['login'] = "ok";
assegna alla variabile di sessione login il valore ok

$destinazione = "indexp.php";
echo '<script language=javascript>document.location.href="'.$destinazione.'"
</script>}
quindi apre la pagina iniziale protetta dal nome indexp.php

 else {
ALTRIMENTI

header("Location: form.htm");}
torna alla pagina form.htm.

Ogni pagina che vogliamo proteggere anche se scritta in html dovra' avere estensione .php e inoltre come prima riga (prima del tag <html> dovra' contenere la seguente istruzione:

<? include("inclusione.php"); ?>
Questa istruzione avvia il file inclusione.php il cui scopo e' quello di controllare se e' stata aperta una sessione login dal valore ok  Se cio' e' vero ritorna alla pagina protetta, in caso contrario visualizza di nuovo il form per l' inserimento di username e password.

Da notare che la sessione login=ok viene distrutta nel momento che si chiude il browser. In questo caso anche se si riapre il browser e si cerca di accedere direttamente a una pagina protetta inserendo il suo URL, questa non sara' accessibile e verra' visualizzato il form per l 'inserimento di user e password.

INDEXP.PHP

<? include("inclusione.php"); ?>
<html>
<head>
<meta http-equiv="Content-Language" content="it">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>ENTRATO</title>
</head>
<body>
<p>ENTRATO!!!!!!!!!!</p>
</body>
</html>


FORM.HTM

<form name="login" action="controlla.php" method="POST">
<input type="text" name="username" value="Username..."><br>
<input type="text" name="password" value="Password..."><br>
<input type="submit" value="Login...">
</form>
 

CONTROLLA.PHP

<?
$user = "pippo;
$pass = "1234";

if ($_POST['username'] == $user && $_POST['password'] == $pass) {
session_start();
$_SESSION['login'] = "ok";
$destinazione = "loginLocale/indexp.php";
echo '<script language=javascript>
document.location.href="'.$destinazione.'"</script>';}
else {
header("Location: form.htm");
}
?>
 

INCLUSIONE.PHP
 
<?
session_start();
if ($_SESSION['login'] != "ok") {
header("Location: form.htm");
}
?>