Come trasferire in modo sicuro i dati per l'aggiornamento del back-end dal client?

-1

Supponiamo di avere 3 video sulla mia pagina. Il cliente può guardare ciascuno dei video, una volta completato, guadagnerebbe n di punti a seconda del video che ha guardato. Voglio POSTARE che n per il cliente specifico al back-end per aggiornare i suoi punti totali.

Sto facendo ricerche su come ottenerlo in modo sicuro perché non ho molta conoscenza della sicurezza. Quello che sto cercando di evitare è che qualcuno aggiusti manualmente il valore di n e che il back-end lo aggiorni in modo errato o una variazione dell'attacco man-in-middle.

    
posta dchhetri 15.06.2016 - 01:11
fonte

1 risposta

1

Non c'è modo di farlo in un modo completamente sicuro, dal momento che non ti puoi fidare del client . Il server non può mai sapere se l'utente ha effettivamente guardato il video o meno. Vorrei sconsigliare di cercare di offuscare il tuo codice o renderlo complicato - alla fine un utente determinato sarà sempre in grado di imbrogliare comunque, e stai solo facendo casino del tuo codice senza alcun beneficio. Dopo tutto, l'utente potrebbe non essere nemmeno davanti al computer mentre suona il video!

Detto questo, puoi rendere più difficile imbrogliare. Ecco alcuni suggerimenti:

  • Non inviare n . Invece, invia un codice unico al video guardato. Mentre l'utente potrebbe semplicemente cambiare quel codice, almeno non sarebbe in grado di impostarlo su un numero ridicolmente grande e guadagnare miliardi di punti.
  • Sul server, salva il tempo in cui l'utente richiede la pagina con un video. Quando il server riceve il messaggio "video guardato", controlla che il tempo trascorso non sia inferiore alla lunghezza del video. Se è così, hai trovato un imbroglione.
  • Se trasmetti in streaming il video, verifica che tutti i video siano stati effettivamente scaricati prima di assegnare i punti. Ancora una volta, questo è un controllo che devi fare sul server.
  • Infine, se questo è per qualche tipo di scopo educativo, fai un semplice quiz alla fine dove l'utente è tenuto a dimostrare una comprensione di base dei concetti che sono stati disconnessi nel video.
risposta data 15.06.2016 - 12:51
fonte

Leggi altre domande sui tag