将变量从一页传递到另一页时
为了避免用户弄乱 URL 参数值
是不是最好...
1)通过会话传递变量
2) 将 URL 中的变量与签名一起传递
将变量从一页传递到另一页时
为了避免用户弄乱 URL 参数值
是不是最好...
1)通过会话传递变量
2) 将 URL 中的变量与签名一起传递
只要您传递签名,您将值传递到哪里都没有关系,因为您将始终检查签名完整性
我要做的是在会话中传递所有内容(包括签名)。只是为了保持 URL 干净。但这取决于您和您的特定用例。
如果您使用会话,则用户无法控制值的内容。
此外,如果您启用了视图状态加密,则可以使用视图状态。视图状态的优点是它被本地化到一个页面。这意味着当用户打开您网站的两个选项卡时,变量将本地化到特定选项卡。
有关如何从另一个页面访问视图状态,请参阅http://www.codeproject.com/KB/viewstate/AccessViewState.aspx 。
如果您真的担心用户会发疯并剥离参数,那么您可以使用 Session 状态,但是您可能会丢失历史记录,即 Back Forward 按钮。
第二个选项看起来不错,但是如果用户正在剥离东西,您甚至无法确定参数是否存在。
所以两者的混合看起来不错。
取决于您的用例。会话在大多数情况下更安全。如果有人可以破坏您的服务器以获取您的会话数据,那么您需要担心不同的事情。但是,如果您将会话数据存储在其他人可以看到的地方,那就太糟糕了;-)。
URL 签名理论上可以是暴力破解的。由于参数可能很短并且它们有时可能是可预测的,因此可能会给知道加密的人一些攻击点。不过,这并非微不足道。但是,如果安全性是您的首选,那么我不会允许这些数据离开您的服务器。