【发布时间】:2018-08-03 09:32:36
【问题描述】:
我有一个 ASP.NET MVC 5 网站。我在设计表格时使用了操作链接来显示数据列表。从该操作链接导航时,我已将类对象作为参数传递。访问该链接后,它会将该对象参数解析为长查询字符串,从而在 URL 中公开数据。
在 MVC 中处理查询字符串的方法是什么?
是否可以隐藏查询字符串或将对象作为参数传递而不将其暴露在 URL 中的方式?
【问题讨论】:
-
不,你不能。只有一个选项是加密
-
@CoolJK 如果您从浏览器发送数据,则数据加密是无用的,因为加密代码和使用的任何密钥对任何检查页面源代码的人都是可见的他们的浏览器工具。除非你在谈论使用 HTTPS?虽然这并没有从查询字符串中删除数据,它仍然可以由网络服务器记录,但它确实(在很大程度上)阻止了它在旅途中被 MITM'd。 HTTPS 加上请求正文中的数据而不是查询字符串的 POST 请求可能是最明智的选择。
-
@ADyson 如何使用 HTTPs?
-
通过正确设置您的网络服务器以通过 HTTPs 为站点提供服务并为其获取有效的 SSL 证书。这不是您在应用程序代码本身中执行的任务。您实际上并不需要在您的本地主机或测试环境中执行此操作,但您当然应该为您的站点的实时版本执行此操作。
-
@ADyson 谢谢!!