微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 隐藏QueryString参数,怎么样?

我有一个网址:像这样:http://www.example/about/49.
我希望它被视为http://www.example/about/,但我必须将此参数作为QueryString参数传递.

可能吗 ?

解决方法

小心会话变量;打开多个页面很容易,这些页面都使用相同的会话并最终混合值.

最好使用TempData,它只允许使用一次值(在第一次访问时删除).但是,这意味着该值几乎会立即使用.

您还可以编写具有所需值的cookie,拦截请求(ASP.Net提供了各种方法,例如BeginRequest事件),并在内部处理URL,就像它包含值一样.

当然,您必须清理cookie(这将与基于会话的解决方案具有相同的问题).请记住,cookie更容易被客户端篡改.

就个人而言,我认为这些方法中的任何一种都比它们的价值要大得多. “Hackable URLs”(例如包含可能有意义的ID的那些)通常是好事.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐