asp.net中ajax的使用
本文关键字:ajax net asp | 更新日期: 2023-09-27 17:54:54
我对使用哪种方法有点困惑:
使用Jquery调用HttpHandler页面,实现一个订单。
2-使用ICALLBACKEventHandler -阅读更多。
你能给我一些建议,哪一种使用效率更高吗?
谢谢
基础阅读
我建议你看这个链接,以帮助你更好地了解选项,并选择你想要的:
-
为什么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()
的第一个选项一样可能有许多安全问题,因为处理程序将生成一些类似于您键入的任何代码的代码。最后,你的选择必须是一个品味问题。但是请记住,在这两种情况下都要阅读并采取必要的安全方法。