Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengesahkan Sambungan HTTPS dengan Boleh Dipercayai Apabila $_SERVER['HTTPS'] Tidak Boleh Dipercayai?

Bagaimanakah Saya Boleh Mengesahkan Sambungan HTTPS dengan Boleh Dipercayai Apabila $_SERVER['HTTPS'] Tidak Boleh Dipercayai?

Barbara Streisand
Lepaskan: 2024-12-04 05:51:10
asal
323 orang telah melayarinya

How Can I Reliably Verify HTTPS Connections When $_SERVER['HTTPS'] Is Unreliable?

Mengesahkan Sambungan HTTPS Melepasi $_SERVER['HTTPS']

Dalam situasi di mana $_SERVER['HTTPS'] kekal tidak ditentukan, menghalang kaedah konvensional untuk menyemak HTTPS sambungan, pendekatan alternatif tersedia.

Fungsi berikut memastikan tepat pengesanan, tidak kira sama ada $_SERVER['HTTPS'] wujud:

function isSecure() {
  return
    (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
    || $_SERVER['SERVER_PORT'] == 443;
}
Salin selepas log masuk

Kod ini beroperasi dengan lancar dengan IIS, seperti yang dinyatakan dalam dokumentasi PHP dan maklum balas pengguna.

  • $ _SERVER['HTTPS']: Pembolehubah ini ditetapkan apabila menyambung melalui HTTPS, tetapi dalam IIS, ia mungkin mempamerkan nilai yang tidak dijangka seperti "off."
  • $_SERVER['SERVER_PORT']: Biasanya, port 443 dikaitkan dengan sambungan selamat, menjadikannya pilihan sandaran yang boleh dipercayai.
  • Apache 1.x dan platform lain yang berpotensi isu konfigurasi mungkin meninggalkan pembolehubah $_SERVER['HTTPS'], manakala pengesahan port 443 berfungsi sebagai sandaran semak.

Perhatikan bahawa jika pengimbang beban menjadi perantara antara klien dan pelayan anda, kod ini terutamanya memeriksa sambungan antara pengimbang beban dan pelayan anda, bukan sambungan pengimbang beban klien.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Sambungan HTTPS dengan Boleh Dipercayai Apabila $_SERVER['HTTPS'] Tidak Boleh Dipercayai?. 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