asp.net - PageMethods 安全

标签 asp.net ajax security post pagemethods

我正在尝试“AJAX 化”我的网站以改善 UI 体验。在性能方面,我也在尝试摆脱 UpdatePanel。我在 Encosia 上看到了一篇很棒的文章显示使用 PageMethods 发布的方式。我的问题是,页面方法在生产环境中的安全性如何?公开后,任何人都可以创建一个 JSON 脚本以直接 POST 到服务器,还是会进行跨域检查?我的 PageMethods 也会将数据写入数据库(过滤后)。

我在我的页面中使用表单例份验证,在页面加载时,它将未经身份验证的用户重定向到登录页面。如果用户直接向该方法发送 POST,该页面上的页面方法是否也需要检查身份验证,或者该身份验证是否继承到整个页面? (本质上,即使用户设法仅向 PageMethod 发帖,整个页面循环也会发生吗)?

谢谢

最佳答案

PageMethods 与其所在的处理程序一样安全。

FormsAuthentication 将保护除登录页面之外的所有内容。

在未 protected 处理程序上,如登录,您应该只公开 1) 不敏感或 2) 验证用户的方法。

编辑:作为对有关 CSRF 和 XSS 的评论和其他答案的回应,请参阅 http://weblogs.asp.net/scottgu/archive/2007/04/04/json-hijacking-and-how-asp-net-ajax-1-0-mitigates-these-attacks.aspx

关于asp.net - PageMethods 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2485445/

相关文章:

c# - 在 asp.net 上使用 ajax 创建动态控件

c# - 什么时候应该在 ASP.NET MVC 中使用异步 Controller ?

ASP.NET MVC IgnoreRoute()按域

javascript - $.ajax 将 [ ] 附加到键上

c# - 无法在 cookieless 模式下设置 FormsAuthenicationTicket.UserData

javascript - jquery footable $ ('#classes' ).trigger ('footable_redraw' );返回隐藏表

php - Ajax - 单击按钮时更新 div 标签

c++ - 试用期满后禁用申请

Android 和 SafetyNet 以确保对 API 的调用仅来 self 的应用程序

c - 统一认证库