giàOriginariamente inviato da DragonOfLight
Solo per diritto di cronaca, così vai sempre ad eseguire una query sul DB anche quando poi (sembra) non te ne fai di nulla.non pensavo fosse grave far lavorare un po' il server a vuoto.. un pochino soltanto
Scusa ma non ho capito bene.
Quale è il motodo che hai utilizzato per inserire il captcha nel modulo di iscrizione?
l'uso di $_SESSION o altro?non ho capito cosa nonhai capito
io ho una form da compilare con nome cognome etc, ci ho aggiunto un'altro campo per il captcha. l'utente deve inserire il codice che vede in un immagine o qualcosa del genere (questo lo devo ancora fare, perchè non voglio usare le librerie GD).
il codice che l'utente deve leggere è stato selezionato randomicamente da quel recordset e dovrà venir passato a una funzione in grado di elaborare un'immagine. quindi varia ogni volta che la pagina viene ricaricata. invece l'altro codice di conferma deve rimanere fisso prima e dopo che la form viene inviata al server. per questo ho dovuto salvarlo nella session.
questo è il codice che discrimina se salvare o meno i dati nel database. MM_insert è il nome dell'input.Codice PHP:if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "nuovo")) {
$CHIAVE = $_POST['CHIAVE'];
$CODICE = $_SESSION['CODICE'];
$check = validazione ($CODICE, $CHIAVE);
unset ($_SESSION['CODICE']);
if ($check !== "ok") {
echo $check;
echo "<script language=javascript>alert('ERRORE: codice non corretto.')</script>";
} else { /*qui c'è il codice per salvare i dati della form nel database,
cioè una query tipo INSERT INTO.. */
attualmente il login lo faccio con le $_SESSION. nella session viene memorizzato il nickname dell'utente. forse sarebbe più sicuro usare delle chiavi generate randomicamente di volta in volta che vengono assegnate a tutti gli utenti e salvate in database in coppia con nickname e password. quindi al momento del login si andrebbe a verificare che nel database sia presente anche quella chiave usata oltre a nickname e password. sarebbero 3 elementi da verificare anzichè 2. inoltre nella session potrei salvare la chiave anzichè il nickname, che mi sembra un dato meno sensibile. basta eliminare tutti gli altri utenti associati a quel codice una volta che uno lo usa per loggarsi, anzi non serve tanto la session riconosce l'indirzzo ip giusto?Comunque, generalmente possono esistere diversi metodi relativamente sicuri per fare la stessa cosa.
Quindi per valutare se cambiando il sistema di gestione del login ti vai solo a complicare la vita oppure se hai un effettivo (e significativo) incremento della sicurezza si deve sapere come hai fatto quello attuale.
Io nell'utilizzo delle sessioni mi sono sempre trovato abbastanza bene, ma non so dirti quali se esistono problemi di sicurezza legate.

non pensavo fosse grave far lavorare un po' il server a vuoto.. un pochino soltanto
non ho capito cosa nonhai capito 
Rispondi quotando