Kaedah Alternatif untuk Menentukan Penggunaan HTTPS Tanpa $_SERVER['HTTPS']
Pendekatan tradisional untuk mengesahkan sambungan HTTPS melibatkan menyemak nilai $ _SERVER['HTTPS']. Walau bagaimanapun, pada konfigurasi pelayan tertentu, pembolehubah ini mungkin tidak ditakrifkan, yang membawa kepada ralat.
Penyelesaian
Untuk menangani isu ini, fungsi berikut menyediakan alternatif yang boleh dipercayai untuk menentukan sambungan HTTPS:
function isSecure() { return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443; }
Keserasian dan Penjelasan
Nota untuk Pengimbang Beban
Kod ini hanya menguji sambungan antara pelayan dan pengimbang beban jika pengimbang beban hadir. Untuk menguji sambungan antara klien dan pengimbang beban, pengepala HTTP_X_FORWARDED_PROTO harus digunakan, walaupun pendekatan ini lebih rumit.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Penggunaan HTTPS dengan Amanah Tanpa Bergantung pada $_SERVER['HTTPS']?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!