我应该使用 JSON 编码,JavaScript 编码还是两者都使用?
Should I use JSON econding, JavaScript encoding or both?
我开始从事网站的安全工作,我的任务是防止 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 编码
JSON编码。 JSON 向浏览器表明该内容仅供数据使用,不应执行。 JavaScript encoding 表示一个潜在的可执行包。
我开始从事网站的安全工作,我的任务是防止 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 编码
JSON编码。 JSON 向浏览器表明该内容仅供数据使用,不应执行。 JavaScript encoding 表示一个潜在的可执行包。