Refiriéndose a este CWE-496 , menciona que debido a que la aplicación asigna datos públicos a un matriz privada es equivalente a dar acceso público a la matriz.
Esto no está claro para mí porque, normalmente, antes de que pueda usar el objeto, debemos declararlo. Por ejemplo:
User user = new User();
Voy a hacer dos suposiciones y me corregirá si me equivoco.
- Cada
new Object()
creará una instancia diferente - Dentro del objeto Usuario, hay una matriz privada
userRoles
y una pública definidor llamadosetUserRoles(String[] userRoles)
Mi pregunta es, ya que el objeto declarará nuevas instancias cada vez, ¿cómo ocurre la situación definida en CWE?
Por ejemplo:
¿Por qué el user.setUserRoles()
en una segunda solicitud sobrescribirá los valores de la variable userRoles
en la primera solicitud o los valores de la variable userRoles
en otras páginas?