Sono alle prime armi con la programmazione php e sto seguendo un approccio molto pratico (man mano che mi servono imparao nuove funzioni...).
Con non poca fatica sto riuscendo a creare qualcosina e una di queste è un sistema di accesso ad un pannello di amministrazione.
PREMESSA: lo script tecnicamente funziona.
Il punto è che ho "paura" ad utilizzarlo dato le mie ancora precarie conoscenze.
Quindi le domande che mi/vi pongo sono:
- garantisce un minimo di sicurezza?
- quali accorgimenti mi suggerite?
- è "utilizzabile"?
Lo script si compone dei seguente file:
1) il form di inserimento dei dati (questo è l'unico di cui sono mediamente certo che vada bene):
form.php
(il file check.js controlla che i campi non siano vuoti)
Codice PHP:
<script type="text/javascript" src="js/Check.js">
<form method=post action="access.php" ONSUBMIT="return Check()">
utente:</p><input type="text" name="nome" size=22>
password:</p><input type="password" name="passwd" size=22>
<input type="submit" name="invio" value="invio">
<input type="reset" name="cancella" value="cancella">
2) lo script che verifica i dati immessi nel form:
access.php
Codice PHP:
<?php
session_start();
/*se non esistono le variabili fermo tutto*/
if(isset ($_POST['nome'])){$nome=md5($_POST['nome']);}
else {Exit("accesso non autorizzato");}
if(isset ($_POST['passwd'])){$passwd=md5($_POST['passwd']);}
else {Exit("accesso non autorizzato");}
/*fisso le mie credenziali di accesso*/
$nome_access=md5("admin");
$pass_access=md5("pass");
/*se esatte creo una variabile di sessione chiamata admin=ok e reindirizzo alla pagina index.php*/
if(($nome==$nome_access)&&($passwd==$pass_access))
{
$_SESSION['admin']=ok;
header("location: index.php");
exit();
}
/*altrimenti lo rimando al form.php*/
else{header("location: form.php");}
?>
3) le pagine protette inizieranno tutte con questo piccolo script:
index.php
Codice PHP:
<?php
session_start();
/*se la variabile di sessione admin è diversa da ok fermo tutto*/
if((!isset($_SESSION['admin'])) || ($_SESSION['admin']!=ok)){exit("Accesso non autorizzato");}
?>
<html><body>
<h1>pagina protetta</h1>
<a href=logout.php>logout</a>
</body></html>
4) infine la pagina di logout:
logout.php
Codice PHP:
<?php
session_start();
if((!isset($_SESSION['admin'])) || ($_SESSION['admin']!=ok)){exit("Accesso non autorizzato");}
session_destroy();
echo "grazie e arrivederci";
?>
Devo buttare tutto via?? o si salva qualcosa?