Tomemos, por ejemplo, un sistema de mensajería simple. Los usuarios pueden enviarse mensajes personales. Cuando lees un mensaje personal, la URL sería algo así como http://www.example.com/messaging.php?mailid=453796451
. Veo muchos sitios web que recuperan datos usando solo un identificador único, como 45379451
en este caso. Si alguien más conociera este identificador único, podría leer el mensaje privado enviado del usuario A al usuario B.
¿Ahora mi pregunta es si tal identificación que se pasa a través de la URL es realmente segura? En este caso, la identificación consta de 8 números, lo que significaría que un pirata informático tendría que intentar 100,000,000 números a la vez. Máximo, para poder leer el mensaje privado. Pero si la base de datos almacena un millón de mensajes privados, el pirata informático podría leer un mensaje privado aproximadamente cada 100 intentos. Por lo tanto, ¿es una mala idea hacer que el sistema solo se base en la identificación que se pasa a través de la URL, o es engañoso verificar si el usuario coincide con el destinatario del mensaje?
Estoy programando un sistema de mensajería privada en este momento, y me preguntaba cuál sería la mejor práctica para hacerlo.
Lo siento, si mi título es un poco engañoso, no podría pensar en otra forma de describir este problema.