在asp.net中使用ajax

Isr*_*Abd 4 javascript c# asp.net ajax jquery

我对使用哪种方法感到有点困惑:
1-使用Jquery调用实现订单的HttpHandler页面.
2-使用ICALLBACKEventHandler - 阅读更多.
你能给我一些关于哪一个更有效使用的建议.
谢谢

Eri*_*lli 7

基本阅读

我建议你这个链接,以帮助你更好地理解选项,并选择你想要的:

我的选择

我更喜欢使用jQuery.ajax()jQuery的模板插件需要时(从AJAX调用加载表格数据).一种轻量级方法,对开发人员有更多控制权.我不喜欢微软喜欢在我们使用他们的处理程序时生成愚蠢的代码.

安全漏洞

但是没关系,你指出评论时可能会遇到一些安全问题.

你关于轻松操作的注释Referer很有意思,但这个漏洞并不是jQuery独有的.问题在于AJAX本身的概念已经存在多个安全漏洞,这些漏洞是多年来讨论的已知问题.

重要的是要注意使用ICallbackEventHandler 不是解决方案,因为它只是生成AJAX请求的另一种方式,而无需您输入它.但是如果异步请求存在,它总是可以以某种方式被拦截,就像$.ajax()可能的那样.

最后,您已经给出了"差不多"的答案:将安全令牌作为参数传递更好.如果您使用MasterPage,则将a中的令牌生成HiddenField抽象为单个代码.您可以使用JavaScript函数进行封装,该函数负责使用此标记作为参数进行AJAX调用.一切都只是软件架构的问题.

我称之为"差不多"的答案,因为没有什么是完全安全的,安全令牌也可以被黑客入侵.是的,它更加艰难和罕见,但99%从来不是100%.

恢复

您的第二个选项ICallbackEventHandler可能有许多安全问题以及您的第一个选项$.ajax(),因为处理程序将生成一些类似于您要键入的任何代码的代码.最后,您的选择必须是品味问题.但请记住阅读并采取有关两种情况下安全性的必要方法.

  • +1史诗评论:"我不喜欢微软喜欢在我们使用他们的处理程序时生成愚蠢的代码". (4认同)