Web services 如何确保使用jqueryajax发送到WebService的数据是通过我的站点发送的,而不是通过某种攻击
我的代码:Web services 如何确保使用jqueryajax发送到WebService的数据是通过我的站点发送的,而不是通过某种攻击,web-services,jquery,security,cryptojs,Web Services,Jquery,Security,Cryptojs,我的代码: function HandleSignUp() { var CurrentURL = document.URL; var obj, val; //ajax call started $.ajax({ type: "POST", url: "../../webservice/GetAjaxDataWebService.asmx/RegisterNewUser", data: "{'UserFullName
function HandleSignUp() {
var CurrentURL = document.URL;
var obj, val;
//ajax call started
$.ajax({
type: "POST",
url: "../../webservice/GetAjaxDataWebService.asmx/RegisterNewUser",
data: "{'UserFullName': '" + $('#SignUpName').val() + "','Email': '" + $('#SignUpEmail').val() + "','Password': '" + $('#SignUpPassword').val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
//msg.d contains the return value from web service call
$.colorbox.close();
val = eval(msg);
obj = jQuery.parseJSON(val.d);
UpdateLogin(obj.Email, obj.FirstName);
}
});
//ajax call ended
}
如何确保使用jqueryajax发送到WebService的数据是通过我的站点发送的,而不是通过某种攻击
我对登录有一个类似的ajax调用,在这里我将用户ID和密码传递给Web服务并进行身份验证
有没有办法使用一次性请求-响应令牌来确保它是有效的web服务调用
如果我的问题不清楚,请告诉我。您可以使用哈希键(只有您知道)实现一种轻量级MAC机制
n
字节馈送到哈希键并计算哈希值这里有一点处理开销,它假设传输是通过安全线路进行的,否则,消息仍然可能被劫持。但您可以解决伪调用的问题。会话可能是解决此问题的最简单方法,具体取决于您的服务器框架
成功登录后,在服务器上打开一个会话并设置一个值;在处理任何其他web服务API之前检查会话值。如果您没有启用服务器的cors,客户端脚本可能无法向您的服务发送请求。@AkshatJiwanSharma我没有跨源资源共享启用服务器上的led。因此,我不必担心有人会编写一个实用程序,用虚假数据调用我的注册Web服务URL,并用暴力攻击任何特定用户ID的密码登录Web服务URL?@Pawan您可以在HMAC部分下查找您可以使用的内容。我的代码中有会话管理。但我只创建会话我上面的问题是如何避免虚假的web服务调用。从您的观点来看,我考虑始终创建一个唯一的会话密钥(可能是用户请求对象的时间戳和信息)并在响应中将其传递到我的HTML页面,然后再次通过web服务调用获取此会话有效负载。如果来自web服务调用的有效负载与我的会话密钥匹配,我将允许web服务继续。对于所有人,请让我知道这是否是一个有效选项。