Sono sicuro che molti di voi hanno familiarità con il gioco basato su JavaScript Candy Box .
Come probabilmente saprai, si può imbrogliare il sistema di caramelle di questo gioco inviando comandi alla console.
Ad esempio, se fai clic sul link, vedrai che il numero delle caramelle aumenta lentamente. Qualcuno che usa Google Chrome (mi riferisco a Chrome in particolare perché conosco le scorciatoie da tastiera, forse questo può essere fatto in Firefox o IE) chi vuole imbrogliare può premere Ctrl + Shift + I
, navigare a Console
e inviare candies.setNbrOwned(2147483647)
alla console per uno zucchero veloce e facile.
Questo può rappresentare un problema in altri contesti? Ad esempio, diciamo che ho un sito web che vende widget. L'equilibrio di qualcuno (o anche il prezzo dei miei widget) può essere modificato inviando qualcosa come userBalance = 2147483647
o widget.setPrice(0.01)
usando JavaScript (forse anche senza usare la console JavaScript del browser)?
Se non è possibile, perché è così? La mia prima ipotesi sul perché potrebbe non essere possibile è perché le variabili modificate sarebbero memorizzate come variabili locali e non influenzerebbero nulla di importante - un po 'come modificare gli elementi attraverso le funzionalità di' Inspect Element '.
Se è effettivamente possibile, attraverso quali mezzi può essere fatto, e come prevenirlo?