Menentukan Status Sambungan HTTPS Melangkaui $_SERVER['HTTPS']
Banyak tutorial dalam talian mencadangkan anda menyemak $_SERVER['HTTPS'] untuk memastikan sama ada sambungan pelayan dijamin melalui HTTPS. Walau bagaimanapun, $_SERVER['HTTPS'] mungkin tidak ditakrifkan pada pelayan tertentu, yang membawa kepada ralat.
Pembolehubah Alternatif untuk Pengesanan HTTPS
Untuk mengatasi isu ini, pertimbangkan menggunakan fungsi isSecure(), yang memberikan petunjuk yang boleh dipercayai tentang status sambungan HTTPS walaupun ketika $_SERVER['HTTPS'] adalah undefined:
function isSecure() { return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443; }
Keserasian dan Pertimbangan
Pengimbang Beban dan HTTP_X_FORWARDED_PROTO
Perhatikan bahawa fungsi ini tidak menguji sambungan antara pelanggan dan pengimbang beban yang berpotensi. Untuk menyemak ini, pengepala HTTP_X_FORWARDED_PROTO boleh digunakan, tetapi pelaksanaannya lebih kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Status Sambungan HTTPS dengan Amanah dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!