Estoy trabajando en una aplicación que le permite a un moderador editar la información del usuario. Así que, en este momento, tengo URL como
http://www.example.com/user/1/edit
http://www.example.com/user/2/edit
Estoy un poco preocupado aquí, ya que estoy exponiendo directamente la clave principal (ID) de la tabla de usuarios de la base de datos. Simplemente tomo la ID de las URL (por ejemplo, 1 y 2 de las URL anteriores), consulta la base de datos con la ID y obtengo información del usuario (por supuesto, estoy limpiando la entrada - ID de la URL).
Tenga en cuenta que estoy validando todas las solicitudes para comprobar si el moderador tiene acceso para editar ese usuario .
¿Lo que estoy haciendo es seguro? Si no, ¿cómo debería hacerlo?
Puedo pensar en una alternativa, es decir, tener una columna separada para la tabla de usuarios con una clave de 25 caracteres y usar las claves en las URL y la base de datos de consulta con esas claves.
Sin embargo,
- ¿Qué diferencia hace? (Dado que la clave está expuesta ahora)
- consultar por los rendimientos de clave principal resultan más rápidos que otras columnas