Asp.net

如何檢查目前頁面是否在 ASP.Net 中使用 SSL?

  • November 29, 2011

我有一個網站,根據設計和客戶偏好,可以使用 HTTP 或 HTTPS 提供服務。客戶公司只需選擇是否使用 http:// 或 https:// 連結到我們的站點,其餘的由 IIS 完成。正在向頁面添加一項功能,該功能處理只能通過 SSL 查看的敏感資訊。客戶已同意在不使用 HTTPS 連接時應在此頁面上禁用此附加功能。

在 Page_Load 事件中,我想添加一個 IF 語句,用於檢查頁面目前是否正在通過 HTTPS 進行查看,以便顯示或禁用此可選功能。我可能可以閱讀 URL 以查看它是否以 https:// 開頭,但擔心這種方法不安全。

是否有可以在 Page_Load 事件期間檢查以測試 HTTPS 的屬性?

你正在尋找Request.IsSecureConnection.

如果您使用的是 IIS 7(或更高版本)併計劃將通過 HTTP 連接到達您的頁面的請求重定向到 HTTPS 連接,請考慮使用IIS URL Rewrite Module

您將能夠配置解決方案而不是對其進行編碼。例如,您可以配置重定向規則以獲取類似的 URLhttp://my.host.com/my-secure-page.aspx並將其重定向到https://my.host.com/my-secure-page.aspx.

你可以用這個模組做更多的事情,它的美妙之處在於你可以在不接觸應用程式碼的情況下完成它。

有關更多詳細資訊,請參閱使用 IIS 7 將 HTTP 重定向到 HTTPS

引用自:https://stackoverflow.com/questions/8304370