asp.net中ajax的使用

本文关键字:ajax net asp | 更新日期: 2023-09-27 17:54:54

我对使用哪种方法有点困惑:
使用Jquery调用HttpHandler页面,实现一个订单。
2-使用ICALLBACKEventHandler -阅读更多。
你能给我一些建议,哪一种使用效率更高吗?
谢谢

asp.net中ajax的使用

基础阅读

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

  • 为什么ASP。. NET Ajax的UpdatePanels危险吗?

  • 使用jQuery直接调用Ajax页面方法。

  • 简化调用ASP。净Ajax服务jQuery .

我的选择

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

安全漏洞

但是没关系,正如你在注释中指出的那样,你可能会遇到一些安全问题。

你关于Referer易于操作的说明很有趣,但这个漏洞并不是jQuery独有的。问题是AJAX的概念本身已经带有几个安全漏洞,这些漏洞是多年来讨论的已知问题。

重要的是要注意,使用ICallbackEventHandler 不是解决方案,因为它只是生成AJAX请求的另一种方式,而无需键入它。但是,如果异步请求存在,它总是可以以某种方式被拦截,就像$.ajax()一样。 最后,您已经给出了一个"几乎"的答案:最好将安全令牌作为参数传递。如果您使用MasterPage,则HiddenField中的令牌生成将被抽象为单个代码。您还可以使用一个JavaScript函数来封装,该函数负责使用这个令牌作为参数进行AJAX调用。一切都只是软件架构的问题。

我称之为"几乎"的答案,因为没有什么是完全安全的,安全令牌也可以被黑客攻击。是的,它更硬,更稀有,但99%永远不是100%。

恢复

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