У меня есть бобин (somebean
) с тремя булевыми свойствами a
, b
и c
, каждый из которых имеет геттер и сеттер.Какие свойства в компоненте поддержки JSF могут быть заданы пользователем?
У меня есть форма, которая выглядит следующим образом:
<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>
Какой из трех свойств a
, b
и c
может быть установлен клиентом? Я попробовал добавить b=true
и c=true
к запросу POST, но SomeBean.setB(boolean)
и SomeBean.setC(boolean)
никогда не вызываются. Поэтому возможно установить только a
- логика заключается в том, что если в JSF, который ее устанавливает, есть поле, клиенту разрешено его устанавливать. Но, возможно, я ошибаюсь, и у меня просто есть имя по умолчанию, о котором я не знаю, что можно использовать для его установки ...
Должен ли я просто предположить, что любое свойство в моем компоненте может быть установлено клиентом ? Если нет, то какие из них я должен предположить, что клиент может установить (и, следовательно, беспокоиться во время проверки)?
Также, что произойдет, если у меня есть форма, условно предоставленная? например:
<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>
В этом случае может a
еще быть установлен, если b
ложно?
«Клиент», я имею в виду что-либо, отправляющее HTTP-трафик на мой сайт. Это может быть, например, вредоносный код.
классный рассказ, bro – megazord
Есть ли авторитетный источник, цитирующий это? мне кажется сомнительным, что на модель безопасности влияет веб-разметка. то снова вы, кажется, являетесь авторитетным источником информации JSF – megazord