gpt4 book ai didi

.net - {"d":""} 在asp.net web 服务响应中是什么意思

转载 作者:行者123 更新时间:2023-12-04 09:42:36 25 4
gpt4 key购买 nike

我创建了一个简单的 C# asp.net web 服务函数,它返回一个字符串消息
我正在使用 jquery ajax 从页面调用它。

C#:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld() {
return DateTime.Now.ToString();
}

JS:
    $(document).ready(function() {
//alert("ready");
$.ajax({
type: "POST",
contentType: "application/json; chatset=utf-8",
url: "WebService2.asmx/HelloWorld",
data: "{}",
dataType: "json",
success: function(msg) {
//alert(msg); //doesnt works
alert(msg.d);
}
});
});

我的问题是为什么 alert(msg);不起作用

最佳答案

这是一种安全加固机制。

从本质上讲,它有助于防止攻击者从受害者网站读取 JavaScript 数组(以 Json 形式下载)的 CSRF 类型的攻击。他们可以通过覆盖 JavaScript 的 Array 类型来做到这一点。 d导致返回的 Json 不是数组,从而使 Array 覆盖对攻击者无用。

看到这篇很棒的博文:http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx

关于.net - {"d":""} 在asp.net web 服务响应中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7227427/

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