微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 在asp.net中使用ajax

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

解决方法:

基本阅读

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

> Why ASP.NET Ajax UpdatePanels are
dangerous?

> Using jQuery to directly call Ajax
Page
Methods
.
> Simplify calling ASP.NET Ajax
Services from
jQuery
.

我的选择

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

安全漏洞

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

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

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

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

我把它称为“几乎”的答案,因为没有什么是完全安全的,security tokens can also be hacked.是的,它更加困难和罕见,但99%从来不是100%.

恢复

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐