首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >页面方法和安全性

页面方法和安全性
EN

Stack Overflow用户
提问于 2013-07-20 03:03:27
回答 2查看 777关注 0票数 2

最近我了解到,您可以使用脚本管理器并将EnablePageMethods=设置为“真”,这是我想要做的事情,但这会有任何安全隐患吗?

还有,有没有更新更好的方法呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-20 03:17:57

EnablePageMethods="true"真正要做的就是生成一个内联JavaScript代理,它允许通过PageMethods语法回调ASP.NET AJAX Page Methods

我更喜欢通过jQuery的.ajax()方法调用ASP.NET AJAX Page Methods,如下所示:

代码隐藏

代码语言:javascript
复制
[WebMethod]
public static string GetDate()
{
    return DateTime.Now.ToString();
}

JavaScript:

代码语言:javascript
复制
$.ajax({
    type: "POST",
    url: "PageName.aspx/GetDate",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
        // Do something interesting here.
    }
});

注意:由于ASP.NET AJAX Page Methods会自动将它们的响应序列化到JSON,因此"json"是AJAX调用的返回dataTypecontentType描述您要发送到服务器的内容。

票数 4
EN

Stack Overflow用户

发布于 2013-07-20 03:15:43

它不会比向网站添加任何普通的网页或服务具有更多的安全隐患。所需的预防措施是相同的--在没有事先验证的情况下不要使用任何输入,不要无意中在错误消息中返回敏感信息,等等。

如果你不介意切换到一个新的平台,有一种更新的方式可以说是更好的:ASP.Net MVC,以及相关的"Web“。(You can use Web API with Webforms also,感谢卡尔·安德森在评论中提到的内容。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17753644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档