[英]Jquery Ajax security concerns
我在几个项目中一直在使用Jquery Ajax调用。 我想知道对服务器的这些调用是否不安全? 考虑下面的事情,
$.ajax({
method: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "/CMSWebParts/vline/Serviceupdates/ServiceUpdate.aspx/EditPlannedDisruption",
data: '{"id":"' + id + '"}',
success: function (res) {
$("#hdnOverrideId_PlannedDisruption").val(res.d.PlannedDisruptionId);
$("#edTime2_PublishPlanned").val(res.d.pubtime2);
if (res.d.Proposed) {
$("#chkProposed").prop("checked", true);
}
if (res.d.Active) {
$("#chkActive").prop("checked", true);
}
if (res.d.LinkedOverrideId || res.d.LinkedOverrideId != "null") {
$("#btnlinkedOverride").hide();
$("#linkedOverride").hide();
}
}
})
如果用户检查了浏览器源,则他可以看到包括服务器方法名称和参数名称在内的整个代码,这为黑客提供了机会。
我在这里缺少任何安全措施吗?
好吧,您唯一需要担心的就是对发送到服务器的数据以及从服务器接收的数据进行加密。 您无法在浏览器上做任何检查代码的事情。
让我解释一下。 当某人访问您的网页时,他们已经拥有了您可以在浏览器中使用的所有功能。 您对此无能为力。 您可以尝试使其变得更艰巨,以至于无法解决(最小化),但要接受有人可以访问您的客户端代码。
真正的问题是穿过电线的数据。 看,如果黑客检查了浏览器中的代码,他将不会获得很多有用的信息(除非您自己犯了一些明显的错误)。 当然,他们可以查看请求的去向以及各个端点的参数。 但是,如果没有适当的身份验证和授权,则具有适当保护的后端甚至不会允许它们将请求发送到这些端点。
黑客也有兴趣在获取其他人的详细信息。 一个非常明显的例子是用户名和密码。 如果您在没有适当加密的情况下通过网络发送此数据, 那将是真正的问题。
简而言之,您可以采取很多措施来保护运行在浏览器上的源代码。 感兴趣的一方已经拥有了他们所需的一切,并且JS不会使自己陷入混乱。 您应该对确保通过网络传输的数据更感兴趣。
如果用户检查了浏览器源,则他可以看到包括服务器方法名称和参数名称在内的整个代码,这为黑客提供了机会。
因此,是的,任何攻击者都可以从外部角度了解应用程序的工作方式。
这就是为什么即使任何用户都可以使用应用程序服务器与浏览器进行通信的方式,也应确保应用程序安全的原因。
您需要防止:
我在这里缺少任何安全措施吗?
请查看OWASP Top 10 ,以获取应该保护应用程序安全的漏洞的起点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.