¿Qué propiedades en un bean de respaldo JSF puede establecer un usuario?

Tengo un frijol de respaldo (somebean) con tres propiedades booleanasa, byc, cada uno tiene un getter y setter.

Tengo una forma que se parece a esto:

<h:outputText rendered="#{somebean.b}">
    B is true
</h:outputText>
<h:form id="blah">
  <h:inputHidden value="#{somebean.a}" id="a"/>
  <h:commandLink id="zzzz" value="do it" action="#{somebean.doIt}"/>
</h:form>

¿Cuál de las tres propiedades?a, byc ¿Puede ser establecido por el cliente? Intenté agregarb=true yc=true a la solicitud POST, peroSomeBean.setB(boolean) ySomeBean.setC(boolean) nunca te llamen Asi que tal vez soloa se puede establecer, la lógica es que si hay un campo en el JSF que lo establece, el cliente puede configurarlo. Pero tal vez me equivoque y solo tenga un nombre predeterminado que no conozco que pueda usarse para configurarlo ...

¿Debo suponer que el cliente puede establecer cualquier propiedad en mi bean? Si no, ¿cuáles debo asumir que el cliente puede configurar (y, por lo tanto, tener que preocuparme durante la validación)?

Además, ¿qué pasa si tengo mi formulario condicionalmente? p.ej:

<h:outputText rendered="#{somebean.b}">
    <h:form id="blah">
      <h:inputHidden value="#{somebean.a}" id="a"/>
      <h:commandLink id="zzzz" value="do it" action="#{somebean.doIt}"/>
    </h:form>
</h:outputText>

En este caso, puedea aún se establece sib ¿Es falso?

Por "cliente", me refiero a cualquier cosa que envíe tráfico HTTP a mi sitio. Que podría ser por ejemplo, código malicioso.

Respuestas a la pregunta(1)

Su respuesta a la pregunta