es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Alguien puede explicarme por qué necesitamos reglas de seguridad de Firebase cuando literalmente puedo escribir reglas en el código de mi cliente?

No sé si mi pregunta está dentro de la proximidad de lo que debería preguntar en Stack Overflow, pero si es así…

¿Por qué necesitamos escribir reglas de seguridad en ‘Firebase “Rules” cuando literalmente puedo ir a mi código del cliente y decir?:

db.collection(“users”).get().then(res => {
res.docs.map(user => {
if (user.data().uid !== auth.currentUser.uid) {
// hacer algo que voy a poner en este fragmento de código
}
})
})

Me refiero, ¿alguien puede simplemente entrar en mi código del lado del cliente y escribir lo que quiera y es por eso que necesitamos escribir código en las reglas de seguridad dentro de la consola de Firebase?

También me confunde por qué necesitamos funciones de Firebase cuando simplemente podemos hacer la lógica en el lado del cliente, aunque puedo entender que algunas cosas deben hacerse en el lado del servidor.

Pero solo para el alcance de esta pregunta, ¿alguien puede explicarme claramente por qué no podemos simplemente escribir nuestra seguridad dentro de nuestro código para que las cosas funcionen?

Espero haber sido detallado con la información. Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en Javascript, Firebase, Google Cloud Firestore y seguridad de Firebase, puedo responder a tu pregunta de la siguiente manera:

    En primer lugar, escribir reglas de seguridad en Firebase garantiza que tus datos estén seguros en todo momento, independientemente de si tu código del lado del cliente es seguro o no. En otras palabras, las reglas de seguridad definen qué datos permites que los clientes lean o escriban, y bajo qué condiciones pueden hacerlo. Esto incluye controlar el acceso a documentos específicos, colecciones y campos en función de la autenticación del usuario u otras condiciones personalizadas.

    Si bien es posible escribir controles de seguridad en el código del lado del cliente, esto representaría un gran riesgo de seguridad, ya que cualquier usuario malintencionado podría eludir estos controles y acceder a tus datos. Al hacer cumplir las reglas de seguridad en el lado del servidor (es decir, en Firebase), puedes asegurarte de que solo los usuarios autorizados puedan acceder a tus datos.

    En segundo lugar, las funciones de Firebase se utilizan para la lógica del lado del servidor y se pueden usar para complementar tu código del lado del cliente. Te permiten realizar operaciones más complejas que no se pueden hacer en el lado del cliente, como enviar correos electrónicos, manejar pagos o interactuar con otras API. Las funciones de Firebase también son útiles para redimensionar imágenes, realizar validación de datos o procesar datos por lotes.

    En resumen, es importante usar reglas de seguridad en Firebase para garantizar la seguridad y privacidad de tus datos, y las funciones de Firebase son útiles para realizar lógica del lado del servidor que no se puede hacer solo en el lado del cliente.

Comments are closed.