Есть ли общий способ избежать содержимого 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, вы должны реализовать следующую стратегию

  1. Ограничьте количество полей ввода свободного текста и замените их выбранными вариантами
  2. Проверьте все пользовательские вводы на более чем одном слое
  3. Выход из выходных данных

Ссылка: http://www.oracle.com/technetwork/developer-tools/adf/adfowasptop10-final-2348304.pdf

Другие вопросы по тегам