Login in PHP... HALP!

Ciao a tutti, sto cercando qualcuno che mi aiuti a creare un login in php sicuro.
E' per un progetto molto grande che sto facendo.

Se mi potete consigliare qualche tutorial up-to-date sarebbe fantastico.

La guida php che sto seguendo non mi sta portando da nessuna parte...


Questo è il codice che ho usato fino ad adesso.

Codice:
<?php session_start();

$conn = mysql_connect("localhost", "root", "password");

mysql_select_db("database");

if($_GET['act'] == 'out')
{
$_SESSION['nid'] = 0;
setcookie("nid", "", time()-3600);
setcookie("check", "", time()-3600);
session_destroy();
header("Location: esempio12.php");
exit();
}

if((int)$_COOKIE['nid'] != 0)
{
$q2 = mysql_query("SELECT pass FROM utenti WHERE id = ".(int)$_COOKIE['nid']);

$f2 = mysql_fetch_object($q2);

$confronto = md5($_COOKIE['nid'] . $f2->pass);

if(empty($_COOKIE['check']) || $_COOKIE['check'] != $confronto)
{
echo "Sei stato beccato ad hackerarmi il sito... ";
}
else
{
$_SESSION['nid'] = $_COOKIE['nid'];
}
}

if(!empty($_POST['inviadati']) && (int)$_SESSION['nid'] == 0)
{
$nome = addslashes($_POST['nome']);
$pass = sha1($_POST['pass']);

$q1 = mysql_query("SELECT * FROM utenti WHERE nome = '$nome' AND pass = '$pass'");

if(mysql_num_rows($q1) == 0)
{
echo 'Attenzione: Dati di login errati!';
}
else
{
$f1 = mysql_fetch_object($q1);

$_SESSION['nid'] = $f1->id;
setcookie("nid", $f1->id, time()+3600);
setcookie("check", md5($f1->id . $f1->pass), time()+3600);

header("Location: esempio12.php");
exit();
}
}

if((int)$_SESSION['nid'] != 0)
{

HALP!
Se ti sono stato utile pigia quel bel pulsantino REP.

KINGS OF THE HILLS
[Immagine: xwUIc7j.jpg]


[Immagine: Renzi.jpg]
RENZI COMANDERA' IL MONDO UN GIORNO!
Ho cercato un po' sul web e questa sembra ottima come guida.
Fammi sapere. (Modificato 23/03/2015, 21:15 da EduProArd.)
_____________________________________________________________________________________________________________
GitHub: https://github.com/EduProArd/
Come contattarmi: Skype("EduProArd") oppure per MP("Messaggio privato sul forum")
Hosting: https://www.easyware-hosting.ch/
EasyWay: https://www.minecraft-italia.it/forum/t-...di-sistema
_____________________________________________________________________________________________________________
Taggo @hackLover , magari mi aiuta Sad
Se ti sono stato utile pigia quel bel pulsantino REP.

KINGS OF THE HILLS
[Immagine: xwUIc7j.jpg]


[Immagine: Renzi.jpg]
RENZI COMANDERA' IL MONDO UN GIORNO!
Rendi funzioni le varie procedure di login e check_login per tenere più ordine e richiamarle magari da altre parti anzichè fare copia e incolla.

Bene che usi l'hash nel salvare la password nei cookie e non direttamente la password criptata. Per ulteriore sicurezza volendo puoi salvare una seconda chiave da usare per verificare il login, generata casualmente (e rigenerata ad ogni login) da controllare nel db (però se logghi da più postazioni, ti scollega da quelle precedenti).
Fai una ricerca prima di aprire una nuova discussione!
Per problemi riguardo il sito, usa la sezione Assistenza.

Discussioni simili
 
[Risolto] Programmare in CSS
8 335
Risposta di Wimowa
07/06/2018, 21:11
Risposta di DiamondMinerITA
28/04/2018, 13:15
Risposta di Stemo688
25/03/2018, 18:25
 
[Risolto] Tag PHP (mybb)
12 378
Risposta di Omar
06/03/2018, 17:24
 
[Progetto] Sito in python!
1 217
Risposta di _Mega_
03/02/2018, 17:59

Utente(i) che stanno guardando questa discussione: 1 Ospite(i)