Berikut ialah beberapa pilihan tajuk, memfokuskan pada masalah dan penyelesaian: Pilihan 1 (Terus dan ringkas): Cara Menentukan Protokol URL Tapak yang Betul dalam PHP (http vs https) Pilihan 2 (Menekankan cha

DDD
Lepaskan: 2024-10-27 11:50:02
asal
113 orang telah melayarinya

Here are a few title options, focusing on the problem and solution:

Option 1 (Direct and concise):
How to Determine the Correct Site URL Protocol in PHP (http vs https)

Option 2 (Emphasizing the challenge):
PHP: Accurately Detecting Site URL Protocol (h

PHP Dapatkan Protokol URL Tapak - http vs https

Pengenalan Masalah

Menentukan protokol URL tapak semasa (http atau https) adalah penting untuk memastikan operasi laman web yang selamat dan konsisten. Walau bagaimanapun, apabila membangunkan secara tempatan atau tanpa SSL, menguji ketepatan fungsi tersebut boleh terbukti mencabar.

Pelaksanaan Fungsi

Fungsi yang disediakan "siteURL" cuba mewujudkan protokol berdasarkan kehadiran Kunci 'HTTPS' dalam tatasusunan $_SERVER dan nilai tidak kosong atau 'mati'nya. Sebagai alternatif, ia menyemak sama ada 'SERVER_PORT' ialah 443. Jika mana-mana syarat dipenuhi, ia mengembalikan "https://", sebaliknya "http://".

Alternatif dan Kebimbangan

Dengan ketiadaan SSL, menentukan protokol dengan tepat memerlukan pemeriksaan tatasusunan $_SERVER. Walau bagaimanapun, jika SSL aktif, pelayan menukar URL secara automatik kepada https walaupun URL tag sauh menggunakan http. Akibatnya, nampaknya tidak perlu untuk menyemak protokol.

Pelaksanaan yang Diperbaiki

Untuk menangani perkara ini, pelaksanaan yang dipertingkatkan dicadangkan dengan menyemak penunjuk protokol HTTPS dan HTTP dalam $_SERVER tatasusunan. Jika mana-mana syarat ini dipenuhi, fungsi akan mengembalikan protokol yang betul.

<code class="php">if (isset($_SERVER['HTTPS']) &&
    ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ||
    isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
    $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
  $protocol = 'https://';
}
else {
  $protocol = 'http://';
}</code>
Salin selepas log masuk

Pendekatan ini memastikan ketepatan untuk kedua-dua kes, sama ada SSL didayakan atau tidak.

Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, memfokuskan pada masalah dan penyelesaian: Pilihan 1 (Terus dan ringkas): Cara Menentukan Protokol URL Tapak yang Betul dalam PHP (http vs https) Pilihan 2 (Menekankan cha. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!