allora... ho fatto una cartella con dentro una pagina login.php attraverso il quale l'utente deve passare x accedere alle altre pagine della cartella senza k c acceda direttamente... cm faccio a creare questa protezione?
allora... ho fatto una cartella con dentro una pagina login.php attraverso il quale l'utente deve passare x accedere alle altre pagine della cartella senza k c acceda direttamente... cm faccio a creare questa protezione?
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Quindi in login.php:
1. Cominci con session_start().
2. Ricevi nomeutente e password dal form e se questi sono validi regoli una variabile $_SESSION["loggato"]=true
In tutti i file che hanno bisogno dell'autenticazione invece:
1. Cominci con session_start().
2. Controlli che $_SESSION["loggato"]==true, se non lo è ti incavoli...
Ma una domanda anch'io...
Come posso evitare che qualcuno mi sniffi la password e il nome utente?
Ora ho messo che invece di inviare la password in chiaro ne invio l'MD5 e da server mi calcolo l'MD5... solo che se uno mi sniffa l'MD5 puo' autenticarsi lo stesso (seppur non scoprirà la password)... E' possibile o devo cercare qualcosa come SSL?
Che differenza c'è tra usare le session ed un semplice cookie?
aspetta.. ma cm faccio a controllare nome e utente dal form stesso della pagina? xkè io d solito mettevo nell'action del form la pagina a cui accedere e in qll pagina facevo il controllo e l'eventuale incazzamento..[supersaibal]Originariamente inviato da Dariosky
Quindi in login.php:
1. Cominci con session_start().
2. Ricevi nomeutente e password dal form e se questi sono validi regoli una variabile $_SESSION["loggato"]=true
In tutti i file che hanno bisogno dell'autenticazione invece:
1. Cominci con session_start().
2. Controlli che $_SESSION["loggato"]==true, se non lo è ti incavoli...
[/supersaibal]
Un semplice cookie affida la custodia dei dati al browser. Una sessione invia un id di riferimento ed i dati vengono memorizzati in un file o db lato server.[supersaibal]Originariamente inviato da Claudio Vituzzi
Che differenza c'è tra usare le session ed un semplice cookie? [/supersaibal]
Come dire il cokie normale ti manda il pacco a casa, quando ti serve rimandi il pacco indietro. la sessione ti manda una chiave ed il pacco lo tiene nella cassetta di sicurezza. Quando ti serve tu invii la chiave e la sessione tira fuori il pacco corrispondente.
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
la pagina la inizi con session_start e verifichi i dati se presenti.. ti metto giu' uno step "parlato":[supersaibal]Originariamente inviato da DragonFire
aspetta.. ma cm faccio a controllare nome e utente dal form stesso della pagina? xkè io d solito mettevo nell'action del form la pagina a cui accedere e in qll pagina facevo il controllo e l'eventuale incazzamento.. [/supersaibal]
session_start();
controllo se $_POST e' valorizzato con i parametri attesi
IF(isset($_POST[user]) AND ecc...
se mancasse un parametro oppure dei parametri non sono come quelli attesi rimando indietro.
se e' valorizzato passo ad identificare lo user
mysql_connect...ecc
verifico...
passo i dati in $_SESSION se tutto ok
header location a pagina protetta.
oppure do la segnalazione di errore
fine if
else cioe' NOn era valorizzato $_POST
{ ?>
html
e stampo il form
il form rimanda a se stesso.
method=post action = <?php echo $_SERVER['PHP_SELF'] ?>
fine else
Con il submit ora hai valorizzato POST e verra' avviata la procedura di riconoscimento che all'inizio era stata scartata.
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
nn ho capito molto bene... qst sarebbe la pagina
e poi controllo i dati nell'index.phpCodice PHP:
<?
include ("config.inc.php");
include ("top_foot.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
top();
?>
<form method=post action=index.php name="frm" onsubmit="return Controllo()";>
<center>
<big><big><big><big><font face="papyrus"> Inserisci Nick e Password </font></big>
</big></big></big></p>
Nick:
<input type=password size=40 name=nick>
Password:
<input type=password size=40 name=pass>
<input type=submit value="Avanti" />
</p>
</center>
</form>
Codice PHP:
//-------------------- RICONOSCIMENTO UTENTE
$query = "SELECT pwd FROM biblio_admin WHERE nick='$nick'";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
$passinMD=md5($pass);
if ($pass == "")
{
echo "
<big><big><big><center>Per accedere a questa pagina devi autenticarti</center></big></big></big>
";
echo "
<center><a href=\"login.php\"><big>Autenticati</big></a></center>";
exit;
}
if ($passinMD != $row[pwd])
{
echo "
<big><big><big><center>Password Errata</center></big></big></big>
";
echo "
<center><a href=\"login.php\"><big>Riprova</big></a></center>";
exit;
}
Come dovrei modificarlo?
Segui gli step che ti ho indicato...
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
se avessi capito nn avrei postato il codice...![]()