|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
|
PHP - Codice di sicurezza...
Originariamente inviato da Sl4sh
supponiamo di voler fare un form e che si debba ricopiare un numero generato casualmente in un form prima di inviare il messaggio... volendo mantenere tutto nello stesso file, io ho pensato ad una cosa del genere: Codice:
<?php if(isset($codice)) { session_start(); if($codice==$_SESSION[key]) fai quello che devi fare... (magari salva i dati in un database) else stampa un messaggio di errore... } ?> <form...> <input vari /> <?php $num=rand(0,9); session_start(); $_SESSION[key]=$num; echo("$num"); //questo codice va ricopiato nel form successivo ?> <input ... value="codice" /> <input ... invia /> </form> a parte il fatto che non sono sicuro che funzioni, voi avete qualche suggerimento? sono un "programmatore" autodidatta e non so come un professionista possa affrontare un quesito del genere... GRAZIE
__________________
"Le prime giornate di un europeo in America possono essere paragonate alla nascita di un uomo." Franz Kafka
"Don't cry because it's over. Smile because it happened." Theodor Geisel |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
|
up
![]()
__________________
"Le prime giornate di un europeo in America possono essere paragonate alla nascita di un uomo." Franz Kafka
"Don't cry because it's over. Smile because it happened." Theodor Geisel |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2005
Città: 127.0.0.1
Messaggi: 1355
|
praticamente questo sarebbe un captcha casalingo.
se non vuoi tribolare ed usare un metodo + sicuro (prechè questo è facilissimo da aggirare(nel senso che sarebbe facile fare uno script che legge il numero e lo ricopia paro paro nel form)) cerca uno script che utilizzi i captcha. I captcha sarebbero quelle immagini leggermente distorte che l'utente deve ricopiare per poter procedere. Il fatto che siano delle immagini distorte rende molto più difficile (ma cmq assolutamente non impossibile) il processo di riconoscimento da parte di uno script maligno.
__________________
Scaccolatore BOINC senior. |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
|
Quote:
il mio quesito era riferito alla bontà della struttura dello script. ![]()
__________________
"Le prime giornate di un europeo in America possono essere paragonate alla nascita di un uomo." Franz Kafka
"Don't cry because it's over. Smile because it happened." Theodor Geisel |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Feb 2003
Città: Rimini
Messaggi: 62
|
Io sostituirei
Codice PHP:
Codice PHP:
![]() ![]()
__________________
[Stef@no] - Segui il coniglio bianco |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Oct 2005
Città: Roseto Degli Abruzzi
Messaggi: 11727
|
Riuppo questo topic abbastanza old
![]() Sto facendo uno scriptino ed ho usato l'esempio di negator136 (Ah, grazie ! ) Dovrei creare un controllo, Prima di tutto, ho creato il controllo del campo "Vuoto" Codice:
if (empty($_POST['codice'])) $error[] = 'Attenzione : Inserisci Codice!'; Ora dovrei creare il controllo del numero corretto; e se il codice inserito non è corretto, rimanda un errore e quindi non procede con l'invio del form. Potete dirmi cosa sbaglio? Codice:
if ($_POST['codice'] !== $_SESSION[key]) $error[] = 'Attenzione : Codice Errato !'; |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Forse questo: $_SESSION[['key']
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2005
Città: Roseto Degli Abruzzi
Messaggi: 11727
|
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Infatti deve essere:
$_SESSION['key']=$num; |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Oct 2005
Città: Roseto Degli Abruzzi
Messaggi: 11727
|
|
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: Feb 2003
Città: Rimini
Messaggi: 62
|
Prova con un po' di debug...ad esempio fai stampare le due variabili:
Codice PHP:
![]()
__________________
[Stef@no] - Segui il coniglio bianco |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Oct 2005
Città: Roseto Degli Abruzzi
Messaggi: 11727
|
Session key: 19
Num: 19 19 = numero random compreso tra 0-100 ![]() Ultima modifica di Alessio.16390 : 02-07-2007 alle 18:16. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Oct 2005
Città: Roseto Degli Abruzzi
Messaggi: 11727
|
Non riesco a venirne fuori, sto guardando come sono fatti gli script captcha per farmi un idea, ma nulla
![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Aspetta...session_start mettilo prima di qualsiasi output della pagina...altrimenti non può inviare il cookie con i dati di sessione...
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Oct 2005
Città: Roseto Degli Abruzzi
Messaggi: 11727
|
Quote:
Doveva essere " != " Un amico mi ha fatto notare lo sbaglio! Che idiota che sono! Grazie a tutti. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:20.