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, 20: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
Risposta di GABRYCA
01/12/2018, 19:11
 
[Problema] problema codice PHP
0 48
Risposta di ImCod3x_
26/11/2018, 16:53
Risposta di Auties05
26/08/2018, 17:56
Risposta di _gjkf_
15/07/2018, 11:18
 
[Risolto] Programmare in CSS
8 529
Risposta di Wimowa
07/06/2018, 20:11

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