gpt4 book ai didi

web-services - 如何确保使用 jQuery AJAX 发送到 WebService 的数据是通过我的网站而不是某种攻击

转载 作者:行者123 更新时间:2023-12-01 03:47:05 25 4
gpt4 key购买 nike

我的代码:

 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
}

如何确保使用 jQuery AJAX 发送到 WebService 的数据是通过我的网站而不是某种攻击。

我有一个类似的 ajax 登录调用,我将用户 ID 和密码传递给 Web 服务并进行身份验证。

是否有一种方法可以使用一次性请求-响应 token 来确保其是有效的 Web 服务调用。

如果我的问题不清楚,请告诉我。

最佳答案

您可以使用哈希 key (只有您知道)来实现轻量级 MAC-ing 机制

  1. 在每次调用网络服务之前,将消息负载的前 n 字节提供给哈希键并计算哈希值。
  2. 调用您的网络服务,在 http header 中发送哈希值(我推荐 authorization header ,您也可以创建自定义 header 。
  3. 在您的网络服务中,在接受任何服务请求之前,您可以通过使用相同数据(即前 N 个字节)计算哈希值来验证消息的真实性,并与授权 header 中的哈希值进行比较。仅当值 checkout 时才满足请求。

这里有一点处理开销,并且假设传输是通过安全线路进行的,否则消息仍然可能被劫持。但你解决了假电话的问题。

关于web-services - 如何确保使用 jQuery AJAX 发送到 WebService 的数据是通过我的网站而不是某种攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12783220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com