Come verificare che un oggetto generato da client sia autentico?

1

So che gli stati di best practice generali non si fidano di nulla generato dal client.

Con questo in mente, voglio scrivere un'app HTML5 che utilizza il browser per generare vari oggetti sul lato client prima di inviarli al server. Questi potrebbero essere immagini, testo, numeri, qualunque cosa - ma tutti generati da JavaScript sul lato client, in modo da non sovraccaricare il server web e mantenere le cose reattive.

Diciamo che stiamo usando un algoritmo per generare del testo ai fini di questo esempio.
L'utente seleziona quindi uno o più di questi passaggi di testo e l'app li rimanda al server.

L'algoritmo per generarli esiste necessariamente lato client, così come il metodo per inviare i dati al server.

Come posso verificare che i dati inviati al server siano stati generati dall'algoritmo lato client e non semplicemente modificati in Firebug o negli strumenti di sviluppo? Qualsiasi algoritmo di checksum / hashing che potrei usare dovrebbe anche essere presente sul lato client e quindi vulnerabile alle manomissioni.

Questo può essere fatto senza fare affidamento sulla sicurezza per oscurità dei campi "nascosti" <input> e codice offuscato?

    
posta Widor 01.08.2012 - 15:38
fonte

1 risposta

5

Non puoi provarlo, no. È sul computer client, quindi qualsiasi codice o dato che gli si consegna è quello che devono cambiare. Nella migliore delle ipotesi puoi renderlo difficile, con tecniche di offuscamento e DRM, ma è probabile che introduca altri problemi.

L'unica soluzione a questo problema è eseguire operazioni sul server.

    
risposta data 01.08.2012 - 15:44
fonte

Leggi altre domande sui tag