Estoy creando una aplicación Firebase que usa la base de datos en tiempo real. Usando las herramientas de desarrollo, los usuarios pueden leer que cuando presionan un botón, su entrada se escribe en el elemento secundario "publicación" de la base de datos:
document.getElementById("sub").addEventListener("click", function() { var postText = document.getElementById("postbox").value; var firebaseRef = firebase.database().ref(); firebaseRef.child("post").set(postText); });Supongamos que el usuario modifica el archivo javascript con un bucle y escribe automáticamente mucho tiempo lo que quiera una vez que presiona el botón Enviar:
document.getElementById("sub").addEventListener("click", function() { for (let i = 0; i < 100000000000000000000000; i++) { var firebaseRef = firebase.database().ref(); firebaseRef.child("post").set("I have hacked u"); } }); Si esto sucede, terminaría con una factura enorme si no tengo cuidado + otros problemas con el sitio web que no funciona correctamente.
¿Cómo evito que ocurran eventos de escritura incontrolables similares? También los usuarios autenticados pueden hacer este truco si saben algo de codificación... ¿son las funciones de la nube la única opción para proteger mi base de datos?