This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

[SOLUCIONADO] MySQL y PHP Multiples transacciones a la vez

  • 1 Replies
  • 555 Views

0 Members and 1 Guest are viewing this topic.

Offline Riojas

  • *
  • Underc0der
  • Posts: 60
  • Actividad:
    0%
  • Reputación 4
  • -RIOJAS
    • View Profile
    • Arduino Center
    • Email
Buenas gente, vengo con una duda.
Tengo una web app en angular que consume una api en php y base de datos en MySQL
Esta app se encarga de generar unas etiquetas con un folio consecutivo según el último folio que exista en la base de datos.
Que pasaría si por ejemplo 5 usuarios están haciendo un tramite al mismo tiempo
En ese momento todos los trámites tendrían el mismo folio.
Como evitar eso?.
El folio siguiente hay que traerlo cuando el usuario entra a la vista de generar etiqueta ya que hay que mostrarlo en un preview de dicha etiqueta.
Agradezco sus comentarios y sugerencias.
Gracias!
« Last Edit: June 17, 2020, 12:51:00 am by AXCESS »

Offline Mortal_Poison

  • *
  • Ex-Staff
  • *****
  • Posts: 204
  • Actividad:
    0%
  • Country: co
  • Reputación 17
  • Become the change you seek in the world. -Gandhi.
  • Twitter: https://www.twitter.com/Mortal_Poison_
    • View Profile
    • XECURE-LABS

Re:MySQL y PHP Multiples transacciones a la vez

  • on: June 06, 2020, 01:37:32 pm
Hola You are not allowed to view links. Register or Login

Correcto, eso puede suceder y me lo he topado en varios ocasiones xD. Lo que tú quieres decir se llaman "Condiciones de Carrera" o más conocidas como "Race Conditions", las cuales permiten a un atacante explotar una vulnerabilidad en un mismo lapso de tiempo(para ser preciso, en el tiempo exacto) de las solicitudes o requests. Este tipo de vulnerabilidades, son comunes pero no son muy conocidas.

Para no ahondar más en el tema(puedes seguir buscando más acerca de este tema), te podría mencionar que una de las soluciones que se suelen implementar son los bloqueos. Los bloqueos te garantizarán que en cualquier momento, solo un subproceso pueda modificar la base de datos. Recuerda que muchas bases de datos proporcionan esta funcionalidad para bloquear las filas cuando un hilo está accediendo a esta.

Por último, alguna vez escuché que alguien recomendaba siempre "leer tus escrituras" y no estaba en lo equivocado; deberás siempre garantizar y validar que verificarás tus registros si existe algún cambio(campo por campo).

Un saludo.
Become the change you seek in the world. -Gandhi.