是否有一种通用的方法来避免ADF输入字段中的HTML内容

时间:2016-10-02 16:40:48

标签: jsf oracle-adf jspx

我的应用程序是使用Oracle ADF开发的。我在表单中使用<af:inputText>个输入字段。

这里我必须避免输入字段中的HTML内容。 ADF中是否有一种方法可以避免表单输入字段中的HTML内容。

2 个答案:

答案 0 :(得分:0)

OWASP#3 - 跨站点脚本(XSS)

必须先验证输入到系统的所有数据,然后才能将其保留在数据库中。特别是稍后在应用程序用户界面上重新显示的数据输入会暴露跨站点脚本的风险。

要在Oracle ADF中强制执行有效数据输入,您应该实施以下策略

  1. 限制自由文本输入字段的数量并将其替换为 选择
  2. 验证多个图层上的所有用户输入
  3. 转义输出数据
  4. 参考:http://www.oracle.com/technetwork/developer-tools/adf/adfowasptop10-final-2348304.pdf

答案 1 :(得分:0)

解决这个问题的一种方法是在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 ... }