我已经开始使用网站的安全性,我的任务是防止XSS攻击。我已经看过OWASP规则来处理它。但是,我不确定我应该在具体案例中使用哪些规则。 我有以下.jsp文件:
<%
// Get Requests
InputData data = new InputData(request);
int idBcomp = data.getInt("bcomp");
Bcomp bcomp = new Bcomp();
BcompDao bcompDao = new BcompDaoImpl();
bcomp.setId(idBcomp);
JSONObject json = new JSONObject();
try {
for (Bcomp s : bcompDao.find(bcomp)) {
json.accumulate("id", s.getId());
json.accumulate("nome", s.getNome());
json.accumulate("nox", s.getNox());
}
} catch (SQLException e) {
json.accumulate("erro", e.getMessage());
} catch (Exception e) {
json.accumulate("erro", e.getMessage());
}
out.write(json.toString());
%>
我还有.js文件,用于接收和操作上面文件创建的JSON。在此文件中,我有以下代码:
function import(idBcomp) {
$.ajax({
url: 'ajax/bcomp.jsp',
data: {bcomp: idBcomp}
}).done(function (r) {
var obj = $.parseJSON(r);
$("#nome").val(obj.nome);
$("#nox").val(obj.nox);
$("#id_bcomp").val(obj.id);
});
}
因此,我的问题是:我应该使用javascript编码,JSON编码还是两者兼而有之?我应该在哪里进行编码? 我正在使用OWASP XSS API进行encodeForJavaScript和JSON编码
答案 0 :(得分:1)
JSON编码。 JSON向浏览器指示内容仅为DATA且不应执行。 JavaScript编码表示可能的可执行包。