3

我对我在这里发表的另一篇文章的回答感到困惑: https ://sharepoint.stackexchange.com/questions/40057/is-an-updatepanel-a-bad-decision/40412#40412

我的理解是,从安全角度来看,处理 Button_Click 的 UpdatePanel 与正常回发没有什么不同。UpdatePanel 仍在执行完整的回发,它只是在 UpdatePanel 的范围内异步发生。

采取这种情况:

我正在处理一个赞成点击事件。我可以使用 AJAX 或使用 UpdatePanel 中的 Button_Click 提交新投票。(理所当然地认为投票应该是异步的。每次投票都有一个回发将是可怕的 IMO)

为了避免投票作弊,我将投票绑定到项目和用户,因此在提交投票时,我需要包括这两件事。

使用 AJAX,这两个字段似乎都很容易被黑客入侵,以至于有人可以获得一组用户名并运行一个循环,在短时间内提交数百张选票。

使用 UpdatePanel,我至少可以提取当前用户服务器端的身份,并且不会向 Web 服务公开任何项目创建方法。

这不是从根本上更安全吗?我是否误解了 UpdatePanel 的工作原理?

4

1 回答 1

2

从安全的角度来看, AnUpdatePanel确实与回发相同。这只是如何部分渲染输出的问题。

现在,关于您的情况:

做一个纯粹的 ajax 方法不会以任何方式危害安全性。仅仅因为它是 javascript,并不意味着您被迫接受作弊,实际上是在您的请求中接收用户作为参数。这就是您拥有身份验证、cookie 等的目的。使用 Principals 和 Identities 从传入的请求中识别用户。

简而言之,您可以UpdatePanel使用 AJAX 和 AJAX 进行安全实现。

注意:AJAX 不会强迫您在安全实现之外公开 Web 服务,服务器上的端点确实可能只是 MVC Controller、 anHttpHandler等。

于 2012-07-31T23:46:33.373 回答