Estoy seguro de que la mayoría de ustedes está familiarizado con el juego basado en JavaScript Candy Box .
Como probablemente sepas, uno puede engañar al sistema de dulces de este juego enviando comandos a la consola.
Por ejemplo, si hace clic en el enlace, verá que el número de caramelos aumenta lentamente. Alguien que usa Google Chrome (me refiero a Chrome específicamente porque conozco los atajos de teclado; quizás esto se puede hacer en Firefox o IE) que quiera hacer trampa puede presionar Ctrl + Shift + I
, navegar a Console
y enviar candies.setNbrOwned(2147483647)
a la consola para un azúcar alto y rápido.
¿Puede esto plantear un problema en otros contextos? Por ejemplo, digamos que tengo un sitio web que vende widgets. ¿Se puede modificar el saldo de alguien (o incluso el precio de mis widgets) mediante el envío de algo como userBalance = 2147483647
o widget.setPrice(0.01)
mediante el uso de JavaScript (tal vez incluso sin usar la Consola de JavaScript del navegador)?
Si no es posible, ¿por qué es así? Mi primera suposición de por qué podría no ser posible es porque las variables modificadas se almacenarían como variables locales y no afectarían nada importante, como cambiar elementos a través de las características de "Inspeccionar elemento".
Si de hecho es posible, ¿a través de qué medios se puede hacer y cómo se puede evitar?