gpt4 book ai didi

c# - 更新面板的性质

转载 作者:行者123 更新时间:2023-11-29 14:59:51 25 4
gpt4 key购买 nike

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

我的理解是,从安全 Angular 来看,处理 Button_Click 的 UpdatePanel 与普通回发没有任何不同。 UpdatePanel 仍在执行完整的回发,它只是在 UpdatePanel 的范围内异步发生。

以这个场景为例:

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

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

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

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

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

最佳答案

从安全的 Angular 来看,UpdatePanel 实际上与回发相同。这只是输出如何部分呈现的问题。

现在,关于您的场景:

采用纯 ajax 方法不会以任何方式危害安全性。仅仅因为它是 javascript,并不意味着您被迫通过实际接收用户作为请求中的参数来作弊。这就是您拥有身份验证、cookie 等的目的。使用委托(delegate)人和身份从传入的请求中识别用户。

简而言之,您可以通过 UpdatePanel 和 AJAX 实现安全的实现。

注意:AJAX 不会强制您在安全实现之外公开 web 服务,服务器上的端点确实可以只是一个 MVC Controller,一个 HttpHandler

关于c# - 更新面板的性质,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11749644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com