Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

147
Visualizações
¿Deberíamos crear consultas de Mongoose en el frontend o en el backend?

Podemos crear consultas complejas con Mongoose con opciones como $lte , $gt , $ne , etc., pero me pregunto dónde/cómo deberíamos crear esas consultas.

Si tengo un formulario en mi interfaz que permite ingresar un rango de fechas, podría enviar un cuerpo de solicitud que se vea así:

 { date: { $gt: "01/01/2021", $lte: "31/01/2021" } }

Pero, ¿es esta una buena práctica? Si no es así, ¿en qué formato debo enviar esto y cómo puedo transformarlo en una consulta Mongoose?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

asumiendo que está enviando eso en el cuerpo de la solicitud, entonces no es así como se supone que debe hacerlo, esto puede exponer una falla de seguridad en el sentido de que sus atacantes pueden escribir consultas ellos mismos y recuperar información confidencial al ver que su backend ejecutará CUALQUIER consulta esto se puede utilizar potencialmente para exponer información confidencial.

La base de datos es algo que se supone que maneja el backend, no el frontend, no haga que el frontend escriba las consultas. En su lugar, simplemente envíe un mensaje como este:

 { "startDate": "1/1/1", "endDate": "2/2/2" }

Luego, en su backend, puede obtener los valores del cuerpo de la solicitud y hacerlo usted mismo.

 { date: { $gt: startDate, $lte: endDate } }
about 4 years ago · Juan Pablo Isaza Relatório

0

He pensado en este también. Actualmente tenemos algunas rutas en nuestra API que aceptan una consulta personalizada en el req.body como su ejemplo, sin embargo, son solo rutas de "búsqueda" y están protegidas por nuestro middleware de autenticación. Esto facilitó la búsqueda de documentos por varias propiedades en el front-end VS construyendo una ruta para cada parámetro.

No estoy seguro de si esta es la mejor práctica, pero si no tenemos fe en nuestro sistema de autenticación, las personas pueden leer todos nuestros datos de todos modos, por lo que no estoy seguro de cómo permitirles enviar una consulta personalizada podría empeorar las cosas.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda