【发布时间】:2012-09-02 14:18:59
【问题描述】:
我已经按照 MSDN 上的教程进行了操作,它们(据我所见)似乎都使用 @Href() 作为 URL。例如
<a href="@Href("~/")">Some link</a> 但我记得几个月前在这里读到过使用 Server.MapPath() 更安全,例如
<a href="@Server.MapPath("~/")">Some link</a> 因为它将其转换为完整路径,这意味着您无法编辑底层代码来更改表单提交到的位置(或类似的东西)。这是真的吗?
我应该使用Href() 还是Server.MapPath()?哪个更好,为什么?
【问题讨论】:
-
我永远不会使用
Server.MapPath()作为 URL 路径。正如 MSDN 所描述的,功能(甚至Server类)是在您的服务器上查找物理目录。 -
有趣。我的另一个想法是,这个人建议的方式不可能更安全。由于可以查看所有 HTML 源代码,因此无论您使用 Href 还是 Server.MapPath 都无关紧要 - 它仍然可以查看(因此可以通过开发工具进行编辑)
标签: c# asp.net .net asp.net-mvc razor