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

190
Visualizações
Evite la manipulación de parámetros de URL

Entonces, en mi caso, después de que un usuario elige una determinada habitación, la cantidad de noches que se hospedará y la cantidad de invitados, se calcula el precio (dependiendo de ciertos factores) y luego se los redirige a la página de pago donde verán el precio total, que el usuario puede cambiar manipulando el parámetro de precio en la url.

en la página de reserva:

 <Link to={"/book?pricetotal="+total_prices+"&title="+title+"&img="+img+"&price="+price+"&checkin="+checkkin+"&checkout="+checkkout+"&idr="+idroom} >

y en la página de pago que estoy usando

 const windowUrl = window.location.search; const params = new URLSearchParams(windowUrl);

y luego obtengo el parámetro usando

 params.get('price')

La solución que encontré es cifrar el contenido del parámetro Url y luego descifrarlo. ¿La solución es lo suficientemente efectiva o hay otras formas de implementarla?

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

0

Cualquier cosa en el cliente puede ser potencialmente interceptada y manipulada por alguien lo suficientemente interesado. Es probable que el cifrado no sea suficiente si está realmente preocupado por la seguridad porque el usuario podría examinar el código que genera el enlace y tal vez aplicarle ingeniería inversa.

No se puede confiar en nada hecho en el cliente. En cambio, cuando el usuario hace sus elecciones:

después de que un usuario elige una determinada habitación, la cantidad de noches que se hospedará y la cantidad de invitados

Guarde estos datos del lado del servidor y proporcione al usuario una ID de sesión si aún no tiene una. Luego, cuando llegue el momento de que paguen, puede calcular el lado del servidor total y luego mostrárselo al usuario de alguna manera. Sí, no lo pongas en los parámetros de URL, porque es muy fácil que alguien se equivoque, incluso sin querer, pero ponerlo, por ejemplo, en respuesta a una solicitud de búsqueda o en un elemento de datos en la página funcionaría.

Cuando el usuario ingrese su información de pago y la envíe, use su ID de sesión para determinar cuál fue el precio de lo que eligió. Con este enfoque, incluso si alguien decide meterse con el script del lado del cliente para mostrar otra cosa, no afectará el precio final; solo arruinará su vista (y si lo hace, cualquier confusión que resulte está sobre ellos).

about 4 years ago · Juan Pablo Isaza Relatório

0

Eso no va a funcionar, ya que está cifrando y descifrando en la interfaz.

Una solución viable sería enviar los productos en lugar del precio de los productos. Luego, cuando envíe la solicitud de pago al backend, envíe también los productos y, en el backend, calcule cuánto cobrar al usuario.

about 4 years ago · Juan Pablo Isaza Relatório

0

Mi solución fue pasar accesorios en link react-router

 <Link to={{pathname:`/book`,state: { total_prices,title,img,price,checkkin,checkkout,idroom },}} >

y acceder a ellos en mi otro componente de función usando

 const location = useLocation() console.log(location.state)
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