Visualizzazione risultati 1 fino 5 di 5

Discussione: crypt $post

  1. #1
    musicdate non è connesso Utente giovane
    Data registrazione
    06-01-2012
    Messaggi
    87

    Question crypt $post

    salve a tutti, ancora alle prese con gli script per il criptaggio dei dati.
    ho la necessità di implementare una cosa del genere:
    premendo un tasto in javascript eseguo un $post e passo la stringa ad un file php;
    il file php fa un append sulla stringa $post inserendo una password in modo da ottenere $post.password;
    eseguo un criptaggio della stringa completa, ricavo l'hash e lo inserisco in coda al $post; invio la nuova stringa $post completa del campo hash ad un altro file che controlla l'accesso al database;
    eseguo un check sull'hash passato e lascio passare il $post se il controllo ha esito positivo.

    domande:
    1. è possibile fare una cosa del genere?
    2. è possibile rendere il file php "privato" in modo da poter essere chiamato solo dal file che contiene la stringa in javascript, impedendo quindi ad altri di "sfruttare" la funzione php per generare hash corretti ed immettere dati indesiderati nel db?

    spero come sempre di essermi riuscito a spiegare
    mi rendo conto che la domanda può sembrare un po' strana e che ci possono essere soluzioni alternative;
    grazie a chiunque può darmi un suggerimento

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Risaliamo un passo, al tuo problema (e non alla tua soluzione). Vuoi fare in modo che una pagina possa salvare i dati solo se "autorizzata" ?

    Ti converrebbe allora creare dei token, delle stringhe casuali, quando generi la pagina e tenerli da parte nel database assieme ad una scadenza. Quando una pagina vuole salvare dati sul database, ti deve passare un token valido e non scaduto. Se lo fa, scrivi nel database e cancelli il token, altrimenti ignori la chiamata.

  3. #3
    musicdate non è connesso Utente giovane
    Data registrazione
    06-01-2012
    Messaggi
    87

    Thumbs up

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Risaliamo un passo, al tuo problema (e non alla tua soluzione). Vuoi fare in modo che una pagina possa salvare i dati solo se "autorizzata" ?

    Ti converrebbe allora creare dei token, delle stringhe casuali, quando generi la pagina e tenerli da parte nel database assieme ad una scadenza. Quando una pagina vuole salvare dati sul database, ti deve passare un token valido e non scaduto. Se lo fa, scrivi nel database e cancelli il token, altrimenti ignori la chiamata.
    grazie per il suggerimento. non conosco ancora come si implementa quanto mi suggerisci ma immaginando come ciò possa funzionare faccio qualche domanda in merito:

    1. supponiamo che un utente malintenzionato voglia riempire il mio db con un programmino che da qualche parte inserisce dati nel db con un $post: per evitare questo devo generare il token contemporaneamente alla pressione del tasto in javascript suppongo, sbaglio?
    2. il file php che dovrebbe controllare i dati, e quindi il token, prima di inserirli sul db non è in grado di rispondere alla pagina chiamante: questo può creare dei problemi (temporizzazione e durata della validità del token)?
    3. per "tenerli da parte" intendi salvarli temporaneamente nel db e poi cancellarli? se sì mi piacerebbe poterli scartare direttamente in ingresso, senza doverne fare un back up (risorse limitate)
    4. qual è una "durata di validità" tipica per un token?

    grazie ancora

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Il token dovrebbe essere generato lato server ed inserito nella pagina (e.g. con un <input type="hidden" ...>. Se cancelli il token dopo l'uso, può essere usato una sola volta, così la pagina "funziona" solo una volta.

    Ma se il tuo problema è (1), non credo sia risolvibile con questi metodi, per quanto contorti. Ti serve o un captcha, o un controllo lato server del tipo "un utente può effettuare solo n richieste ogni t secondi".

  5. #5
    musicdate non è connesso Utente giovane
    Data registrazione
    06-01-2012
    Messaggi
    87

    Wink

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Il token dovrebbe essere generato lato server ed inserito nella pagina (e.g. con un <input type="hidden" ...>. Se cancelli il token dopo l'uso, può essere usato una sola volta, così la pagina "funziona" solo una volta.

    Ma se il tuo problema è (1), non credo sia risolvibile con questi metodi, per quanto contorti. Ti serve o un captcha, o un controllo lato server del tipo "un utente può effettuare solo n richieste ogni t secondi".
    il mio problema sono più problemi
    c'è anche l'1 fra questi
    tirando un attimo le somme sapresti suggerirmi se è tecnicamente possibile fare quanto chiesto nel punto 2? cioè posso creare un file php usabile dal mio javascript ma privato per qualunque altro utente? mi verrebbe da pensare ad un htaccess da usare solo per le richieste fatte da file residenti sullo stesso dominio/server...ma non sono un conoscitore dell'htaccess

    grazie cmq per il tuo tempo

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •