【问题标题】:Exposing server-side state through client-side controls in ASP.net通过 ASP.net 中的客户端控件公开服务器端状态
【发布时间】:2023-03-29 06:34:01
【问题描述】:

希望这不是一个多余的问题——我不太确定如何措辞。假设我在 ASP.net 页面上有一个项目列表。该列表是可选择的,因为每当用户单击一个时,页面都会进行回发,并且服务器代码将图片的索引或某些唯一标识符存储在 ViewState 属性中,指示它当前已被选中。

我想尽量减少服务器上的负载,因此我想以某种方式在客户端存储代表图像的索引或唯一标识符。我能想到的最好方法是将所述信息存储在隐藏字段中),但是在我发疯之前我有两个问题:

  1. 这是否存在任何形式、形式或形式的安全风险(即暴露页面的实现细节)?

  2. 有没有更好/最好的方法来做到这一点,更符合行业标准? ASP.net 是否提供了一个比我的想法更干净的框架来做到这一点?似乎这对我来说是一个相当普遍的要求......

我已经在 ASP.net 工作了大约两年了。请善待:-)

最好, 帕特里克·科祖布

【问题讨论】:

    标签: javascript asp.net ajax client-side-data


    【解决方案1】:
    1. 唯一的安全风险是某些列表项必须保持不可选择。听起来您的情况并非如此。用户已经知道该信息,因为他或她已经选择了该项目。

      注意:如果服务器曾经对该信息进行任何操作并将其从用户那里拉回,那么您必须验证索引值。否则,用户可以将其更改为无效索引,例如 (-2),并触发异常。

    2. 您可以将索引(或相关值)存储在全局 javascript 变量中。如果您要避免返回服务器,.NET 并没有真正发挥作用。

    【讨论】:

    • 谢谢大卫;这是有道理的。
    猜你喜欢
    • 1970-01-01
    • 2014-08-27
    • 2016-03-19
    • 1970-01-01
    • 2012-10-29
    • 2011-05-04
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    相关资源
    最近更新 更多