sicurezza script login

Fabio90

Utente Attivo
29 Feb 2012
507
0
16
Buonasera forum,
causa eccessivo utilizzo di joomla/wordpress dubito fortemente che lo script che sono andato a creare sia sicuro :cool:
Cosa posso fare per migliorare la sicurezza di questo script?

Grazie
PHP:
else {
	   session_start(); //inizio la sessione
	   include 'inc/variabili.php';
	   include 'inc/db_conn.php';
	   // recupero il nome e la password inseriti dall'utente
	   $email = trim($_POST['email']);
	   $password = trim($_POST['password']);
	   
	   // elimino slash php
	   if(get_magic_quotes_gpc()) {
	   		$email = stripslashes($email);
	   		$password = stripslashes($password);
	   }
	   
	   // verifico la presenza dei campi obbligatori
	    if(!$email || !$password) {
			echo "non hai inserito l'email o la password";
		exit;
		}
	   
		$email= mysql_real_escape_string($_POST['email']); //faccio l'escape dei caratteri dannosi
		$password= mysql_real_escape_string($_POST['password']); //sha1 cifra la password anche qui 
			   
		$query = "SELECT * FROM cms_savio_users WHERE email = '$email' AND password = '$password' ";
		$risultato = mysql_query($query, $conn) or die (mysql_error());
		$row=mysql_fetch_array($risultato); 
		 
		/*Prelevo l'identificativo dell'utente */
		$cod=$row['email'];
		 
		/* Effettuo il controllo */
		if ($cod == NULL) $trovato = 0 ;
		else $trovato = 1; 
		 
		/* Username e password corrette */
		if($trovato === 1) {
		 
		 /*Registro la sessione*/
		 
		  $_SESSION["autorizzato"] = "yes";
		  $_SESSION['email'] = $row['email'];
		  $_SESSION['password'] = $row['password'];
		 
		  /*Registro il codice dell'utente*/
		  $_SESSION['cod'] = $cod;
		 
		 /*Redirect alla pagina riservata*/
		   echo '<script language=javascript>document.location.href="protetta.php"</script>';
		 
		} else {
		 
		/*Username e password errati, redirect alla pagina di login*/
		 echo '<script language=javascript>document.location.href="login.php"</script>';
		 
		}
		
		}//else
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
io verificherei anche l'indirizzo
PHP:
<?php
//.....
// verifico la presenza dei campi obbligatori
if(!$email || !$password) {
	echo "non hai inserito l'email o la password";
	exit;
}
$email=filter_var($email, FILTER_SANITIZE_EMAIL);
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
	echo "email non corretta";
}
//.......
?>

poi non userei
PHP:
echo '<script language=javascript>document.location.href="protetta.php"</script>';
qualsisi persona può leggere il nome della pagina protetta e non è bene
potresti usare
PHP:
<?php
//....
header('location: protetta.php');
//.....
?>
poi dovresti codificare la password come minimo con md5
ultima, ma non meno importante, abbandona le vecchie istruzioni mysql deprecate e passa a mysqli
 

Fabio90

Utente Attivo
29 Feb 2012
507
0
16
Ok ti ringrazio molto. il punto è che in registrazione genero una password random che poi invio per mail.
Come faccio a inviare la password non sha1 per mail e criptarla invece nel DB?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
la generi e la invii
poi la codifichi e la salvi nel db
poi quando uno si logga inserisce la pass
la codifichi e la confronti nel db.
ti schematizzo
PHP:
<?php
//....
$passw_random=generatore_di_pass();//password generata casualmente
//la invii all'utente con mailto() o meglio usando la classe phpmailler, poi
$pass=sha1($passw_random);
$query="INSERT cms_savio_users(email, password) VALUES('$email','$pass')";
//....
?>
poi quando l'utente si logga, immagino che avrai un form di log
PHP:
<?php
//.....
$pass=sha1($_POST['password']);
//avendola codificata non serve il mysql_real_escape_string sulla password
$query = "SELECT * FROM cms_savio_users WHERE email = '$email' AND password = '$pass'";
//....
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
Leoluca SICUREZZA, GRUPPO DI LAVORO E PROFILI MS Access 2
R Mettere in sicurezza una comunicazione .NET Framework 0
NioMio Aruba Sicurezza certificati e ranking di sicurezza 2019/2020 Hosting 1
E [CERCO] Pubblicità per Ebook tema Sicurezza Informatica Vendere e Acquistare pubblicita' online 1
F [php] sicurezza password form login PHP 2
G [PHP] Quali sono tutte le misure di sicurezza che un sito deve avere? PHP 1
W [PHP] Un dettaglio di logica e approccio sulla sicurezza di un progetto. PHP 9
K xamp impostazioni di sicurezza Web Server 5
W [C#] Sicurezza Client/Server - SOAP o RESTFull API .NET Framework 0
W Windows vs Linux per la sicurezza su ATM Windows e Software 0
A Retribuito: Sviluppatore Asp classico esperto in sicurezza webserver IIS e SQL Offerte e Richieste di Lavoro e/o Collaborazione 0
matteoraggi Sicurezza di un server apache con uso limitato Apache 0
K [php] due domande sulla sicurezza PHP 1
S [PHP] $_SESSION e sicurezza... PHP 2
giorgiolovecchio [WordPress] Risorsa http invalida sicurezza sito WordPress 2
KILLERIX Sicurezza dei database nei siti web Database 2
V [PHP] upload di file in cartella e sua sicurezza PHP 137
romeocharly nuove norme di sicurezza paypal Guadagnare col Sito 3
M Formazione per diventare uno specialista di Sicurezza Informatica Sicurezza e Virus 3
A Sicurezza sito PHP 0
P Errore Codice Sicurezza Guestbook Supporto Mr.Webmaster 0
L Paypal - aggiornamenti alla sicurezza PHP 5
L Sicurezza login e limitazione accessi PHP 3
A Non riesco più a visualizzare il codice sicurezza nel forum Supporto Mr.Webmaster 3
A sicurezza wp login failed WordPress 5
R Security Ninja Core Scanner Plugin Sicurezza WordPress 5
I Problemi di sicurezza php PHP 1
voldemort Sicurezza login $_SESSION attacchi XSS CSRF PHP 0
C Sicurezza Textarea PHP 1
Akuma consiglio sicurezza per soluzione problema apici PHP 0
filippino phpBB: spam nonostante captcha e domanda di sicurezza phpBB 0
A consiglio sulla sicurezza PHP 5
E [RISOLTO]Sicurezza attacchi con $_session: come viene gestita nella trasmissione server client ? PHP 5
A ricavare il path alle cartelle e sicurezza PHP 5
M Codice di sicurezza su modulo Classic ASP 25
G MyBB: Sicurezza della pagina e del suo contenuto CMS (Content Management System) 2
L problema gestione utenti e sicurezza persone PHP 3
M creare da soli in sicurezza un sito Offerte e Richieste di Lavoro e/o Collaborazione 4
asevenx problema con codice di sicurezza captcha PHP 2
M Sicurezza dati form per insert e select in database PHP 11
M Sicurezza delle sessioni PHP 25
F Richiesta pillola su sicurezza jQuery 5
B Sicurezza php/mysql form PHP 2
L Database esterno e sicurezza Database 2
J Come usare certificato SSL per la sicurezza PHP 2
G Vendere e comprare in sicurezza in internet Presenta il tuo Sito 0
L Sicurezza nella registrazione PHP 14
T Sicurezza sito Web PHP 11
B Aumentare livello di sicurezza accesso client area riservata Classic ASP 5
I [CERCO] Articolista per browser game o sicurezza informatica Offerte e Richieste di Lavoro e/o Collaborazione 1

Discussioni simili