Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Migliorare login con sessione

    salve a tutti,
    volevo sapere se è possibile migliorare in sicurezza, questo codice per una login con sessione, ma senza l'utilizzo di mysql
    codice:
    <?php
    
    	$pass = "costantino";
    	
    	if($_POST['password'] == "")
    	{
    		echo "Attenzione devi inserire la password";
    		header("Location: form.html");
    	}
    	elseif ($_POST['password'] == $pass)
    	{
    		session_start();
    		$_SESSION['login'] = "ok";
    		header("Location: welcome.php");
    	}
    	else
    	{
    		header("Location: form.html");
    	}
    
    ?>
    Ovviamente io devo fare un controllo soltanto sulla password, perchè mi è stato richiesto esplicitamente così...
    Hutton

    "Una tela bianca, offre infinite possibilità."

  2. #2
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Secondo me potresti cifrare la password, ad esempio facendo l'hash con un sha1, ci sono siti che ti permettono di calcolarla online.

    Metti quella calcolata come $pass e poi fai una cosa del tipo
    Codice PHP:
    .
    $passform=sha1($_POST['password']);
    elseif (
    $passform == $pass
    Dovrebbe risultare leggermente più sicuro.

  3. #3
    Grazie... provo subito
    Hutton

    "Una tela bianca, offre infinite possibilità."

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ..."welcome.php" che controlla effettua?

  5. #5
    quella è la pagina a cui si accede dopo il login... e al suo interno c'è solo lo script che controlla se è attiva o meno la sessione.
    Hutton

    "Una tela bianca, offre infinite possibilità."

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    ti consiglierei di aggiungere anche un salt per evitare attacchi di tipo rainbow table, ma visto che la password è hardcoded nel codice se riuscissero ad ottenere il file che la contiene riuscirebbero di sicuro ad ottenere anche il file che contiene il salt.

    sicuramente però ricalcola il session id dell'utente autenticato per evitare attacchi di tipo session fixation.

    se vuoi raggiungere un nuovo livello di paranoia genera un valore in sessione che copi anche nel form e fai il controllo del match all'invio per evitare request forgery.
    sometimes it's just like teaching pigs how to fly

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    visto che "esageriamo" :) si potrebbe mettere la password codificata (es. con sha) in un file esterno fuori dalla cartella web e così anche il nome del file da caricare in caso di successo

  8. #8
    Come posso fare per ricalcolare il session id ?
    Hutton

    "Una tela bianca, offre infinite possibilità."

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    Originariamente inviato da eiyen
    visto che "esageriamo" si potrebbe mettere la password codificata (es. con sha) in un file esterno fuori dalla cartella web e così anche il nome del file da caricare in caso di successo
    bhè a questo punto direi di spostare tutto fuori dalla webroot all'infuori del front controller :P

    comunque per rigenerare il session id ricordati che php.net è tuo amico hutton:
    http://it.php.net/manual/en/function...enerate-id.php
    sometimes it's just like teaching pigs how to fly

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.