Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Idea Codice Validazione (o chapta)

    Ciao a tutti,
    io ho realizzato il codice validazione senza usare le librerie e senza usare le sessioni, ma sempre memorizzando su database.

    Il meccanismo è questo:
    1 pagina form genera tramite funzione codice 6 cifre alfanumerico (es. 12ABx9) e invia a database in campo VARCHAR(6), poi richiama con stratagemma 6 jpg (es. l'uno sarà no.jpg, due ue.jpg, ecc...) e si compone il codice di conferma!
    2 inserisco in campo nascosto l'id del codice appena inserito e lo passo via post
    3 nella pagina di conferma mi collego al database e tiro giù il codice relativo alla riga dell'id passato via post, poi li confronto.

    Ultimo: un cron job passa tutte le sere e controlla il timestamp della tabella codice ed elimina tutti quelli superiori ad un'oraò.

    Come vi sembra?

  2. #2
    Il passare in chiaro tramite GET o POST il codice di validazione (che poi verrà mostrato sotto forma di immagine/i) è secondo me un difetto...
    Administrator of NAMDesign.Net

  3. #3
    Il codice di validazione non passa in chiaro, bensì viene inviato al database e ripescato nella pagina di controllo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    6
    ma cosi facendo nn è possibile una sql inecjion(nn ricordo come si scrive)?

  5. #5
    non c'è il problema, mettendo in cascata un elenco di jpeg che hanno sempre lo stesso nome per lo stessa immagine ci vuole molto poco a scavalcare questo sistema!

    sarebbe utile se fai richiamare una pagina php a cui passi il numero del carattere da visualizzare e la pagina php ripesca l'immagine e la invia al browser!

    ovviamente il codice di validazione in se e per se, sotto nessuna forma, deve arrivare al browser altrimenti non serve a nulla

  6. #6
    Originariamente inviato da lorenzos
    Il codice di validazione non passa in chiaro, bensì viene inviato al database e ripescato nella pagina di controllo...
    Scusami hai ragione...rileggendo passi l'ID della tupla nella tabella che contiene il codice.
    Però con questo sistema per 1 ora (tempo del cron) rimani esposto poichè quello stesso codice sarà sempre valido.

    Poi sto sistema delle immagini pronte, come dice anche daniele_dll, non troppo sicuro.

    Posso farti una domanda: ma il classico captcha cos'ha che non va?
    1) ogni codice viene generato al momento in maniera casuale, quindi può essere impossibile da prevedere.
    2) l'immagine costruita tramite PHP senza uso di files esterni se non per il background se si vuole.
    3) si possono aggiungere interferenze/imperfezioni all'immagine in modo da non permetterne lo "scanning" (se così si dice) quali ad esempio inclinare le lettere, aggiungere delle linee qua e la.

    E' un sistema ben collaudato...
    Administrator of NAMDesign.Net

  7. #7
    sarebbe utile se fai richiamare una pagina php a cui passi il numero del carattere da visualizzare e la pagina php ripesca l'immagine e la invia al browser!
    Non capisco, ma se io nella pagina di controllo faccio la verifica del codice all'interno di una funzione da me creata non proteggo il codice?

    Qualcosa tipo:
    Codice PHP:
    function controllo($codice_passato$id){
    // mi connetto e tramite id ricavo codice reale
    //confronto codice correto con codice inserito
    return >$esito

    Poi nella pagina di conferma io controllo solo se $esito è positivo o negativo.
    Qualcosa non va?

  8. #8
    facciamo per esempio che usi solo le immagini, qui c'è un elenco di immagini/filesudisco

    1 => xyz.jpg
    2 => asd.jpg
    3 => gfz.png
    4 => awc.gif
    5 => qwr.jpg
    6 => asdqqwe.png
    7 => as11sd.jpg
    8 => qadansk.gif
    9 => aca1.gif
    10 => asd1st42d.bmp

    questi qui sono solo un esempio

    Il tuo codice, quindi, quando sa che deve mostare il codice 123456 inviaerà al browser 6 tag img contenenti i riferimenti alle immagini soprastanti

    cosa succede? succede che guardo il codice html, mi accorgo di questo che fai, e mi faccio uno schema di conversione dal nome del file al numero!

    A questo punto un semplice script sa cosa spedire in POST

  9. #9
    Si, capisco, però se io quando genero il codice non lo stampo mai sulla pagina (ne nella pagina di iscrizione, nè in quella di convalida), tu per sapere che 1 corrisponde a xyz.jpg devi essere un umano e quindi devi sviluppare un codice apposta per il mio sito.

    E' un lavoro che non credo valga la pena di fare, considerando che utilizzando tutti i numeri e le lettere ci sono 36 immagini con nomi strani.

    In ogni caso il programmino che cerca di analizzare le mie immagini non ha scampo.
    Giusto?

    Posso farti una domanda: ma il classico captcha cos'ha che non va?
    1) ogni codice viene generato al momento in maniera casuale, quindi può essere impossibile da prevedere.
    2) l'immagine costruita tramite PHP senza uso di files esterni se non per il background se si vuole.
    3) si possono aggiungere interferenze/imperfezioni all'immagine in modo da non permetterne lo "scanning" (se così si dice) quali ad esempio inclinare le lettere, aggiungere delle linee qua e la.
    Infatti io ho sviluppato il sistema così per andare incontro ai server che non hanno le GD installate, inoltre il codice è meno complesso e non utilizza classi.
    Le interferenze io le ho create e sono sempre le stesse. Inoltre il codice si può leggermente complicare raddoppiando il numero di immagini e inserendo una funzione rand(1,2) per scegliere quale usare!

    Che ne dite?

  10. #10
    Originariamente inviato da lorenzos
    Si, capisco, però se io quando genero il codice non lo stampo mai sulla pagina (ne nella pagina di iscrizione, nè in quella di convalida), tu per sapere che 1 corrisponde a xyz.jpg devi essere un umano e quindi devi sviluppare un codice apposta per il mio sito.

    E' un lavoro che non credo valga la pena di fare, considerando che utilizzando tutti i numeri e le lettere ci sono 36 immagini con nomi strani.
    ma dovrebbe essere fatto ad hoc in ogni caso

    Scusami, ma allora non capisco che senso ha Se basi la questione su questo concetto, dato che anche lo script che fa operazioni automatiche (come inserire commenti spam o trackback spam e cosi via) va fatto ad hoc perché tu non stai usando un applicativo standard non ha proprio senso mettere il captcha!!!

    Ma siccome ti dovresti preoccupare proprio dell'occhio umano e non dei bot automatici secondo me dovresti prevedere questa situazione e con una semplice modifica che ti ho proposto uscirtene dalla malattia

    Ovvero uno script php che viene richiamato nel tag img al posto dell'immagine e a cui viene passato l'id e il numero del carattere ed una volta richiamato accede al database legge il carattere da visualizzare ed invia l'immagine apposita

    In ogni caso il programmino che cerca di analizzare le mie immagini non ha scampo.
    Giusto?
    tutto dipende da chi lo realizza ed addestra, dato che va fatto ad hoc anche questo per il tuo codice

    Infatti io ho sviluppato il sistema così per andare incontro ai server che non hanno le GD installate, inoltre il codice è meno complesso e non utilizza classi.
    Le interferenze io le ho create e sono sempre le stesse. Inoltre il codice si può leggermente complicare raddoppiando il numero di immagini e inserendo una funzione rand(1,2) per scegliere quale usare!

    Che ne dite?
    La complessità del codice non dipende dalle classi, anzi, il non usare classi è peggio perché monchi la portabilità del codice, però qui andiamo a finire su un altro campo

    Alternativamente le immagini le puoi base-encodare e inserire nel codice php stesso, se realizzi lo script come ti ho detto su, in questo modo in un solo file hai tutto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.