• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Registrazione & Log-In By Mukkasmile

mukkasmile111

Utente Assiduo
Autore del topic
28 Novembre 2010
624
0
Miglior risposta
0
Ciao ragazzuoli cari, vengo dalla sezione Habbo Hacking e Scripting, probabilmente mi trasferisco qui.

Come presentazione ho creato un piccolo script di registrazione & Log-In, può darsi che ci siano piccoli bug poiché non l' ho curato al massimo essendo un piccolo script e una piccola presentazione.

E' privo di layout, ho solo lavorato alla parte tecnica e inserito l' essenziale grafico.

Fino alla conferma dell' e-mail l' utente non potrà continuare la "navigazione" sul sito, che abbia appena effettuato la registrazione o il log-in.

Alla fine della registrazione viene inviata una e-mail con un link per confermare l' account, ogni volta che si accede viene controllato se nel database il campo 'verificato' è settato su sì.

Demo:
Perfavore, Entra oppure Registrati per vedere i Link!

Download:
Perfavore, Entra oppure Registrati per vedere i Link!

Scansione:
Perfavore, Entra oppure Registrati per vedere i Link!



Immagino tutti sappiate installarlo ma lo spiegherò per coloro in difficoltà.

Innanzitutto estraiamo il file e, tramite ftp o pannello, hostiamo i file sul nostro sito web.
Una volta fatto attiviamo il database (l' operazione è diversa per ogni fornitore), entriamo nel file 'config.php' e configuriamo con i dati di accesso.

Ora rechiamoci nel PhpMyAdmin o qualunque sia il pannello fornito e creiamo un nuovo database (deve avere, ovviamente, lo stesso nome che gli avete dato nel file di configurazione), poi rechiamoci su importa (o qualcosa di simile) e selezioniamo il nostro file.
Se il tutto è stato eseguito correttamente il nostro script è pronto!


Spero che il mio piccolo e semplice script sia di vostro gradimento e d' aiuto per qualcuno.

Ci si becca nel forum, ciao! :-D
 
Riferimento: Registrazione & Log-In By Mukkasmile

Ciao ragazzuoli cari, vengo dalla sezione Habbo Hacking e Scripting, probabilmente mi trasferisco qui.

Come presentazione ho creato un piccolo script di registrazione & Log-In, può darsi che ci siano piccoli bug poiché non l' ho curato al massimo essendo un piccolo script e una piccola presentazione.

E' privo di layout, ho solo lavorato alla parte tecnica e inserito l' essenziale grafico.

Fino alla conferma dell' e-mail l' utente non potrà continuare la "navigazione" sul sito, che abbia appena effettuato la registrazione o il log-in.

Alla fine della registrazione viene inviata una e-mail con un link per confermare l' account, ogni volta che si accede viene controllato se nel database il campo 'verificato' è settato su sì.

Demo:
Perfavore, Entra oppure Registrati per vedere i Link!

Download:
Perfavore, Entra oppure Registrati per vedere i Link!

Scansione:
Perfavore, Entra oppure Registrati per vedere i Link!



Immagino tutti sappiate installarlo ma lo spiegherò per coloro in difficoltà.

Innanzitutto estraiamo il file e, tramite ftp o pannello, hostiamo i file sul nostro sito web.
Una volta fatto attiviamo il database (l' operazione è diversa per ogni fornitore), entriamo nel file 'config.php' e configuriamo con i dati di accesso.

Ora rechiamoci nel PhpMyAdmin o qualunque sia il pannello fornito e creiamo un nuovo database (deve avere, ovviamente, lo stesso nome che gli avete dato nel file di configurazione), poi rechiamoci su importa (o qualcosa di simile) e selezioniamo il nostro file.
Se il tutto è stato eseguito correttamente il nostro script è pronto!


Spero che il mio piccolo e semplice script sia di vostro gradimento e d' aiuto per qualcuno.

Ci si becca nel forum, ciao! :-D

Per prima cosa, "benvenuto" in questa sezione.

Premetto di aver provato lo script, direttamente sul tuo sito !

Secondo ; Pur non avendolo curato al massimo, avresti comunque potuto utilizzare il JQuery e sfruttare la tecnologia Ajax, per evitare di ricaricare la pagina ogni volta.

Per esempio, quando mi registro, se inserisco un'email errata, invece di dirmi di controllare l'email, mi reindirizza ad un'altra pagina per la registrazione.

Stessa cosa per il login. Se è errato, o l'utente non ha verificato l'account, deve apparire un messaggio, e non deve fare il redirect ogni volta.

Lo script nel tuo sito, presenta un errore nell'invio dell'email.

Infatti, ti sei dimenticato di inserire la directory /registrazione_login.

L'email che mi è arrivata dice :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Mentre, in realtà, dovrebbe essere così :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Un'altra piccola modifica, è nel "post-login".

Se io mi sono registrato con il nome "Pippo" ed effettuo il login scrivendo "pIpPo", il messaggio di benvenuto sarà :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Anziché :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Per ovviare a questo problema, una volta effettuato il login, ti basta fare un SELECT e selezionare il nome direttamente dalla tabella.

Spero che questi consigli possano esserti utili.

PS : Per quelli alle prime armi con PHP + Database, consiglio di vedere [VIDEO] SQL Injection - Teoria e pratica
 
Ultima modifica:
Riferimento: Registrazione & Log-In By Mukkasmile

Per prima cosa, "benvenuto" in questa sezione.

Premetto di aver provato lo script, direttamente sul tuo sito !

Secondo ; Pur non avendolo curato al massimo, avresti comunque potuto utilizzare il JQuery e sfruttare la tecnologia Ajax, per evitare di ricaricare la pagina ogni volta.

Per esempio, quando mi registro, se inserisco un'email errata, invece di dirmi di controllare l'email, mi reindirizza ad un'altra pagina per la registrazione.

Stessa cosa per il login. Se è errato, o l'utente non ha verificato l'account, deve apparire un messaggio, e non deve fare il redirect ogni volta.

Lo script nel tuo sito, presenta un errore nell'invio dell'email.

Infatti, ti sei dimenticato di inserire la directory /registrazione_login.

L'email che mi è arrivata dice :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Mentre, in realtà, dovrebbe essere così :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Un'altra piccola modifica, è nel "post-login".

Se io mi sono registrato con il nome "Pippo" ed effettuo il login scrivendo "pIpPo", il messaggio di benvenuto sarà :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Anziché :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Per ovviare a questo problema, una volta effettuato il login, ti basta fare un SELECT e selezionare il nome direttamente dalla tabella.

Spero che questi consigli possano esserti utili.

PS : Per quelli alle prime armi con PHP + Database, consiglio di vedere [VIDEO] SQL Injection - Teoria e pratica

Non utilizzo jQuery, Ajax..
Scusa la dimenticanza della directory nell' e-mail, è che ho spostato tutto in una nuova cartella dopo aver fatto il lavoro..

Comunque grazie per il consiglio del SELECT, in effetti non avevo mai pensato al fatto che il nome può venir 'scombussolato' se non estrapolato direttamente dal db..

Non ho guardato il video, il mio script è già invulnerabile a SQL Injection (o sbaglio?).
 
Riferimento: Registrazione & Log-In By Mukkasmile

Assolutamente NO, ho aperto il primo file e mi trovo questo:

$id=$_GET['ID'];

$conferma_utente="UPDATE utenti SET verificato='si' WHERE id='$id'";

Cioè tu servi il GET senza nemmeno una trasformazione? LOL Oltre al fatto che non controlli nemmeno se l'id è un numero o no, o se l'utente esiste, è vulnerabilissimo.

Poi il md5 per criptare le password (più propriamente Hashare) non è il massimo, ci sono centinaia di decrypter online.

Oltre al fatto che chiunque può attivare un account, metti che ricerca la password hashata al posto dell'id.

Un consiglio, inserisci nella pagina config (che è inclusa in ogni altra pagina) questo codice:

foreach($_GET AS $key => $value) {
if (preg_match('/\'/i', $_GET[''.$key]) OR preg_match('/\"/i', $_GET[''.$key]) OR preg_match('/\ /i', $_GET[''.$key])) { Echo "<br/><b>Tentativo di intrusione!</b>"; die();}}

In questo modo dovrebbe impedire l'immissione di caratteri come ', " e lo spazio nelle variabili get. (Comunque non ne son sicurissimo xD)
 
Ultima modifica:
Riferimento: Registrazione & Log-In By Mukkasmile

Assolutamente NO, ho aperto il primo file e mi trovo questo:

$id=$_GET['ID'];

$conferma_utente="UPDATE utenti SET verificato='si' WHERE id='$id'";

Cioè tu servi il GET senza nemmeno una trasformazione? LOL Oltre al fatto che non controlli nemmeno se l'id è un numero o no, o se l'utente esiste, è vulnerabilissimo.

Poi il md5 per criptare le password (più propriamente Hashare) non è il massimo, ci sono centinaia di decrypter online.

Oltre al fatto che chiunque può attivare un account, metti che ricerca la password hashata al posto dell'id.

Un consiglio, inserisci nella pagina config (che è inclusa in ogni altra pagina) questo codice:

foreach($_GET AS $key => $value) {
if (preg_match('/\'/i', $_GET[''.$key]) OR preg_match('/\"/i', $_GET[''.$key]) OR preg_match('/\ /i', $_GET[''.$key])) { Echo "<br/><b>Tentativo di intrusione!</b>"; die();}}

In questo modo dovrebbe impedire l'immissione di caratteri come ', " e lo spazio nelle variabili get. (Comunque non ne son sicurissimo xD)

Semplicemente usare htmlspecialchars e addslashes no?