2011-02-04 333 views

回答

4

只要你传递一个西尼亚那么你在哪里传递值并不重要,因为你总是会检查签名的完整性

我会做的是在会话中传递所有内容(包括签名)。只是为了保持URL清洁。但这取决于你和你的特定用例。

0

如果您真的担心用户疯狂并剥夺参数,那么您可以使用会话状态,但是您可能会丢失历史记录,例如后退前进按钮。

第二个选项看起来不错,但如果用户剥离的东西,你不能确定参数甚至存在。

所以两者的组合看起来不错。

1

如果使用会话,用户无法控制值的内容。

此外,如果您启用了view state encryption,则可以使用视图状态。视图状态的优点是它被本地化为一个页面。这意味着当用户有两个选项卡打开您的网站时,这些变量被本地化为特定的选项卡。

有关如何从另一个页面访问视图状态,请参阅http://www.codeproject.com/KB/viewstate/AccessViewState.aspx

+0

但是,您不能使用ViewState在OP页面之间传输数据。 – 2011-02-04 06:48:37

0

取决于您的用例。会话IS在大多数情况下更安全。如果有人可以危害您的服务器以获取会话数据,那么您有不同的担心。如果将会话数据存储在其他人可以看到它的地方,那将会很糟糕;-)。

URL签名在理论上可能是强制性的。由于这些参数可能很短,并且有时可以预测,因此可能会让某个知道加密攻击点的人知道。这并不是微不足道的。但是,如果安全性是您的首选,那么我不会允许这些数据离开您的服务器。

相关问题