【问题标题】:Hiding parameters (sensitive information) from URL of an MVC 5 application从 MVC 5 应用程序的 URL 隐藏参数(敏感信息)
【发布时间】:2016-05-18 04:57:36
【问题描述】:

我正在使用 Asp.Net MVC 5。当我单击一个链接(放置在另一个网站中)时,我导航到 UserDetails.cshtml 页面。 基本上,第 3 方网站将用户名和密码传递给我的网站并使用我授权并显示更多用户信息。

很好,但是 URL 看起来像这样

localhost:8080//管理员/用户详细信息/用户名/密码。

我不想在 URL 中显示用户名和密码,即 URL 应该类似于:

localhost:8080//Admin/UserDetails/

一种可能的解决方案是在 IIS 中重写 URL (http://www.hanselman.com/blog/ASPNETMVCAndTheNewIIS7RewriteModule.aspx)

但我相信有一种更简单的方法可以通过使用 MVC 的路由机制来处理这个问题。

请帮我弄清楚。

编辑: 由于你们中的许多人都很困惑为什么我不在这里发布表单,让我重新提出我的问题。我无法控制第三方应用程序,因此我不能要求他们将表单发布到我的 MVC 应用程序。同样,第 3 方应用程序是 Oracle 报告应用程序 (OBI),因此从该应用程序执行 POST 可能也不可行......

【问题讨论】:

  • 为什么不发布数据?!
  • 让我重新提出我的问题。我无法控制第三方应用程序,因此我不能要求他们将表单发布到我的 MVC 应用程序。同样,第 3 方应用程序是 Oracle 报告应用程序 (OBI),因此从该应用程序执行 POST 可能也不可行......

标签: asp.net-mvc iis asp.net-mvc-5


【解决方案1】:

让我根据您的问题对您的要求进行逆向工程:

我想要一个 URI,当被调用时,它可以访问我网站的安全部分。此 URI 必须由第三方网站的访问者单击,我将其提供给该 URI。我想从 URI 中隐藏凭据。

您不能这样做,要求相互冲突。您不能分发 URI 来验证向该 URI 发出请求的任何人。

您可以使用令牌(例如 http://your-site/auth/$token)做某事,但仍然可以访问该 URI 的任何人都可以使用它来验证自己,或者只是将其放在自己的网站上。

如果您想要向第三方网站公开数据,请让该网站在后台向您的网站执行 HTTP 请求(使用令牌、用户名、标头或任何您想用来进行身份验证的内容),并显示他们网站上的回复。然后访问者将看不到该流量,无法共享 URI,一切都将是安全的。

【讨论】:

  • Token auth 是处理这种情况的好方法,我也想过这种方法,但是上述第三方应用程序也没有生成 TOKEN 的能力。
  • 正如您所提到的,即使在我的情况下,第三方应用程序也在将控件传递给我的 ASP.Net MVC 应用程序之前对用户进行身份验证,但是发布任何 URL 获取的内容都可以保存/用户书签 &如果其他人也使用该网址,则他/她冒充相同的权限:(
【解决方案2】:

没有。不,不。认真地说,不。任何敏感信息都应通过安全连接 (HTTPS) 通过帖子正文发送。您不能在 GET 请求中“隐藏”信息,因为它都是 URI 的一部分,或者是特定资源的位置。如果您删除其中的一部分,那将是一个完全不同的位置。

更新

我很难相信任何需要通过 HTTP 进行身份验证并且不是由黑猩猩用打字机设计的第三方应用程序不支持 secure 方法所以,特别是如果它是一个 Oracle 应用程序。我不熟悉这个特定的应用程序,但是,这里没有冒犯的意思,但我更容易相信你错过了文档中的某些内容,或者只是没有找到正确的方法尚未 在我相信你通过 GET 发送明文凭据之前。

无论如何,正如我之前所说,没有办法在 GET 请求中隐藏信息。 GET 中的所有数据都是 URL 的一部分,因此在浏览器位置栏或其他任何地方都可以清楚地看到。不幸的是,除了仔细查看文档之外,我对您没有任何建议,如果必须的话,甚至可以联系 Oracle。无论是通过邮寄还是 OAuth 之类的方式,几乎都必须有另一种方式。

【讨论】:

  • 更新了我的问题,提到为什么在这种情况下我不能使用 Form POST。
猜你喜欢
  • 2018-01-31
  • 2020-11-24
  • 1970-01-01
  • 2012-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
相关资源
最近更新 更多