Supponiamo che stia facendo un gioco JavaScript e vorrei che il gioco aggiornasse il server se l'utente ha completato con successo il gioco e i suoi risultati.
Come devo garantire che la richiesta provenga dal gioco JavaScript e che i dati inviati non siano stati manomessi. Sto usando PHP come lingua lato server.
Capisco che nessuna strategia sarà al 100% infallibile, e qualsiasi misura presa è più un fattore dissuasivo che una protezione assoluta.
Su Modifica: supponiamo che non stiamo utilizzando la verifica del server del passaggio di ciascun utente (come in un MMO tradizionale). Il gioco potrebbe essere un mini-gioco come parte di un gioco Web o di un gioco educativo (ad esempio invasori spaziali o un gioco in tempo reale) e richiedere un componente lato server per ciascuno di questi giochi potrebbe essere noioso.
Esempio: supponiamo che, una volta completato il gioco, una richiesta venga inviata al server tramite. AJAX
game_finished.php?user_id=1&outcome=success&score=88
Un utente potrebbe "falsificare" il server credendo che il gioco sia stato completato correttamente inviando tale richiesta a game_finished.php. Come potrebbe essere reso più difficile?