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

前端之家收集整理的这篇文章主要介绍了web-services – 如何确保使用jQuery AJAX发送到WebService的数据是通过我的网站而不是一些攻击前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的代码
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个字节)计算哈希值来验证消息的真实性,并与授权头中的哈希值进行比较.仅在值检出时尊重请求.

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

原文链接:https://www.f2er.com/html/231952.html

猜你在找的HTML相关文章