Asp.net
如何檢查目前頁面是否在 ASP.Net 中使用 SSL?
我有一個網站,根據設計和客戶偏好,可以使用 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。
您將能夠配置解決方案而不是對其進行編碼。例如,您可以配置重定向規則以獲取類似的 URL
http://my.host.com/my-secure-page.aspx並將其重定向到https://my.host.com/my-secure-page.aspx.你可以用這個模組做更多的事情,它的美妙之處在於你可以在不接觸應用程式碼的情況下完成它。
有關更多詳細資訊,請參閱使用 IIS 7 將 HTTP 重定向到 HTTPS。