Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menguatkuasakan HTTPS Site-Wide dalam ASP.NET?

Bagaimana untuk Menguatkuasakan HTTPS Site-Wide dalam ASP.NET?

Linda Hamilton
Lepaskan: 2025-01-01 14:38:10
asal
962 orang telah melayarinya

How to Enforce HTTPS Site-Wide in ASP.NET?

Menguatkuasakan HTTPS Site-Wide dalam ASP.NET: Panduan Komprehensif

Dalam memastikan komunikasi yang selamat, adalah penting untuk mengubah hala semua trafik tapak web ke HTTPS. Melaksanakan langkah ini secara sejarah melibatkan menyemak peristiwa pemuatan halaman individu dan mengubah hala permintaan bukan HTTPS. Walau bagaimanapun, terdapat kaedah yang lebih berkesan, termasuk memanfaatkan tetapan web.config.

HTTP Strict Transport Security (HSTS)

HSTS menetapkan arahan yang mengarahkan penyemak imbas untuk sentiasa menyambung ke tapak web menggunakan HTTPS, tanpa mengira permintaan awal. Mendayakan HSTS melibatkan penambahan kod berikut pada fail web.config anda:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <!-- Prevent HTTP requests and enable HSTS -->
                <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                    <match url=".*" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
Salin selepas log masuk

Konfigurasi ini mengubah hala semua permintaan HTTP ke HTTPS dan menambahkan pengepala HSTS kepada respons HTTPS berikutnya, mengarahkan penyemak imbas untuk menguatkuasakan sambungan HTTPS untuk sesuatu yang ditentukan. tempoh.

Asal Penyelesaian

Walaupun HSTS ialah kaedah yang disyorkan, kod berikut masih boleh digunakan sebagai sandaran:

public void Application_BeginRequest(Object sender, EventArgs e) {
    if (!HttpContext.Current.Request.IsSecureConnection && !HttpContext.Current.Request.IsLocal) {
        Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.RawUrl);
    }
}
Salin selepas log masuk

Nota: Kaedah ini bergantung pada Acara Application_BeginRequest, yang mungkin tidak berfungsi dalam semua senario. HSTS, sebaliknya, menyediakan penyelesaian yang lebih mantap dan boleh dipercayai.

Atas ialah kandungan terperinci Bagaimana untuk Menguatkuasakan HTTPS Site-Wide dalam ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan