ASP.NET: 重定向到https的最佳实践

14 浏览
0 Comments

ASP.NET: 重定向到https的最佳实践

我正在处理一个项目,其中有一页需要使用 SSL 证书。该网站中所有到该页面的链接都使用 https 而不是 http,但在用户可能直接导航到该页面的情况下,我希望 http 版本的页面重定向到它自己,但使用 https。

我可以在 page_load 事件中执行 Response.Redirect,我可以编写 JavaScript 来更新 location.href,这将导致 postback。我相信还有更多的方法可以解决这个问题。

我的问题是,对于在 IIS 6 或 7 上运行的 ASP.NET 网站,将 http 页面重定向到 https 的最佳实践是什么?是否有最佳实践,还是所有的替代方案都是平等的?

admin 更改状态以发布 2023年5月24日
0
0 Comments

实际上,最好的做法是在以下三个地方之一完成此操作,假设硬件或IIS设置不是选项。只需要编写选项。\n\n

    \n

  1. 在HTTPModule (HTTP模块) 中。HttpModules 在处理任何请求之前运行,因此您可以在那里进行URL检查和重定向。这是我会做的。
  2. \n

  3. 在 Global.asax。
  4. \n

  5. 在自定义基本页(custom base page) 的init函数中。
  6. \n

\n\n所有这些都是很好的选择。前两个选项保证由ASP.NET处理的每个请求都会被调用。第三种需要确保所有页面都继承自基本页面。\n\n我不会将代码放在每个页面中,那样就是糟糕的编程。\n\n如果您需要更多解释,请告诉我,但这是一个好的开始。

0
0 Comments

我会使用URL重写来实现这个功能。为什么?因为它易于实现,无需修改应用程序,并且易于维护。

在IIS7上,你可以使用URL重写模块来实现,例如:



  
  
    
  
  

在IIS6上,你需要使用第三方库。我使用的是IIRF(http://www.codeplex.com/IIRF),它是免费的、稳定的,并且具有很多功能。

0