【发布时间】:2015-05-12 14:18:49
【问题描述】:
我支持的应用程序正在接受安全审查,并且存在一些关于转义特殊字符的问题。我很长时间没有支持这个应用程序,而且我对转义特殊字符不是很了解。我被问到的问题是“你为什么要对值进行 JavaScript 编码,然后再对其进行 HTML 编码?该值是否写在需要为两个上下文编码值的上下文中?”
使用的 JavaScript 编码和使用的 HTML 编码有什么区别?为什么我的代码中需要两者?
任何有关这方面的信息将不胜感激!
public class HTMLEncodedResultSet extends ResultSetWrapper {
public HTMLEncodedResultSet(ResultSet resultSet) {
super(resultSet);
}
public String getString(int columnIndex) throws SQLException {
return StringEscapeUtils.escapeHtml(StringEscapeUtils.escapeJavaScript(super.getString(columnIndex)));
}
public String getString(String columnName) throws SQLException {
return StringEscapeUtils.escapeHtml(StringEscapeUtils.escapeJavaScript(super.getString(columnName)));
}
}
【问题讨论】:
-
Java =/= JavaScript。移除了 JS 标签。
-
请澄清。我不确定我理解你的意思
-
你用“JavaScript”标记了这个问题。这个问题与 JavaScript 无关,所以我删除了标签。
-
Java is not Javascript。不要在此处标记不相关的标签
标签: java javascript html encode html-escape-characters