我的应用程序是使用Oracle ADF开发的。我在表单中使用<af:inputText>
个输入字段。
这里我必须避免输入字段中的HTML内容。 ADF中是否有一种方法可以避免表单输入字段中的HTML内容。
答案 0 :(得分:0)
OWASP#3 - 跨站点脚本(XSS)
必须先验证输入到系统的所有数据,然后才能将其保留在数据库中。特别是稍后在应用程序用户界面上重新显示的数据输入会暴露跨站点脚本的风险。
要在Oracle ADF中强制执行有效数据输入,您应该实施以下策略
参考: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 ... }