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

web-services – 如何确保使用jQuery AJAX发送到WebService的数据是通过我的网站而不是一些攻击,第1张

概述我的代码: function HandleSignUp() { var CurrentURL = document.URL; var obj, val; //ajax call started $.ajax({ type: "POST", url: "../../webservice/GetAjaxDataWebService.asm 我的代码:
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的数据是通过我的网站而不是一些攻击.

我对Login有一个类似的AJAX调用,我将userID和密码传递给webservice并进行身份验证.

有没有办法让一次性请求 – 响应令牌,以确保其有效的Web服务调用.

如果我的问题不明确,请告诉我.

解决方法 您可以使用哈希密钥(仅为您知道)实现轻量级MAC-ing机制

>在每次调用webservice之前,将消息有效负载的前n个字节提供给散列键并计算散列值.
>拨打您的网络服务,在http标头中发送哈希值(我推荐authorization header,您可以创建一个自定义标题.
>在您的Web服务中,在遵守任何服务请求之前,您可以通过使用相同的数据(即前N个字节)计算哈希值来验证消息的真实性,并与授权头中的哈希值进行比较.仅在值检出时尊重请求.

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

总结

以上是内存溢出为你收集整理的web-services – 如何确保使用jQuery AJAX发送到WebService的数据是通过我的网站而不是一些攻击全部内容,希望文章能够帮你解决web-services – 如何确保使用jQuery AJAX发送到WebService的数据是通过我的网站而不是一些攻击所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1107129.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存