Bagaimana untuk Menentukan Protokol URL Tapak Anda (HTTP atau HTTPS) dengan Amanah dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-10-30 20:01:02
asal
164 orang telah melayarinya

How to Reliably Determine Your Site's URL Protocol (HTTP or HTTPS) in PHP?

PHP Dapatkan Protokol URL Tapak: HTTP vs HTTPS

Menentukan protokol URL tapak semasa (HTTP atau HTTPS) dalam PHP adalah penting untuk selamat dan operasi laman web yang konsisten. Dalam artikel ini, kami akan meneroka nuansa pengesanan protokol dan menjawab soalan berkaitan.

Pada mulanya, anda menyediakan fungsi yang bertujuan untuk mewujudkan protokol berdasarkan pembolehubah pelayan tertentu. Walau bagaimanapun, kami akan mencadangkan pendekatan alternatif yang memudahkan proses.

Fungsi Pengesanan Protokol yang Diperbaiki:

<code class="php">function siteURL()
{
    $protocol = isset($_SERVER['HTTPS']) ? 'https://' : 'http://';
    $domainName = $_SERVER['HTTP_HOST'].'/';
    return $protocol.$domainName;
}
define( 'SITE_URL', siteURL() );</code>
Salin selepas log masuk

Fungsi yang dipertingkatkan ini:

  • Boleh Dipercayai: Ia menyemak terus pembolehubah $_SERVER['HTTPS'], yang ditetapkan apabila menggunakan HTTPS.
  • Diringkaskan: Ia mengelakkan bersyarat yang kompleks penyata dan semakan yang tidak perlu.

Mengendalikan SSL dan Penukaran:

Di bawah SSL, penyemak imbas moden biasanya menukar URL HTTP kepada HTTPS secara automatik. Walau bagaimanapun, pelayan tidak menguatkuasakan penukaran ini. Jika URL tag anchor anda masih menggunakan HTTP, fungsi siteURL() akan mengembalikan HTTP dengan betul.

Implikasi Keselamatan:

Secara umum, pengesanan protokol tidak diperlukan untuk operasi selamat di bawah SSL. Walau bagaimanapun, ia boleh berguna dalam senario tertentu di mana anda ingin mentakrifkan protokol secara eksplisit dalam skrip atau URL.

Jawapan Terpilih:

Fungsi yang dicadangkan yang disediakan dalam jawapan yang anda terima:

<code class="php">if (isset($_SERVER['HTTPS']) &amp;&amp;
    ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ||
...</code>
Salin selepas log masuk

Walaupun betul dari segi teknikal, ia tidak perlu mengembangkan logik untuk mengesan HTTPS. Fungsi dipermudahkan yang dibentangkan di atas mencapai hasil yang sama dengan lebih ringkas.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Protokol URL Tapak Anda (HTTP atau HTTPS) dengan Amanah dalam PHP?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!