Есть ли общий способ избежать содержимого HTML в полях ввода ADF
Мое приложение разработано с использованием Oracle ADF. я использую <af:inputText>
поля ввода в моих формах.
Здесь я должен избегать содержимого HTML в полях ввода. Есть ли способ в ADF, чтобы избежать HTML-содержимого в полях ввода формы.
2 ответа
Один из способов решить эту проблему - добавить валидатор в ваш inputText. Итак, у вас будет что-то вроде этого:
<af:inputText ... validator="#{scope.beanName.methodName}".../>
И, конечно, в beanName вам нужно добавить метод проверки:
public void methodName(FacesContext pContext, UIComponent pComponent, Object pValue) {
String userInput = pValue.toString();
if( containsHtml(userInput) ) {
FacesMessage message = new FacesMessage(...);
throw new ValidationException(message);
}
}
public boolean containsHtml(String pUserInput) { ... your logic ... }
OWASP #3 - межсайтовый скриптинг (XSS)
Все данные, вводимые в систему, должны быть проверены, прежде чем они будут сохранены в базе данных. В частности, ввод данных, который впоследствии повторно отображается в пользовательском интерфейсе приложения, создает риск межсайтовых сценариев.
Для обеспечения правильного ввода данных в Oracle ADF, вы должны реализовать следующую стратегию
- Ограничьте количество полей ввода свободного текста и замените их выбранными вариантами
- Проверьте все пользовательские вводы на более чем одном слое
- Выход из выходных данных
Ссылка: http://www.oracle.com/technetwork/developer-tools/adf/adfowasptop10-final-2348304.pdf