Memahami Perbezaan antara HTTP_HOST dan SERVER_NAME dalam PHP
PHP menyediakan dua pembolehubah, $_SERVER['HTTP_HOST'] dan $_SERVER[' SERVER_NAME'], yang menyampaikan maklumat tentang hos permintaan web. Artikel ini akan menyelidiki perbezaan antara pembolehubah ini dan memberikan panduan tentang masa untuk menggunakannya.
HTTP_HOST
Pembolehubah HTTP_HOST dikumpulkan daripada pengepala permintaan HTTP dan mewakili hos sasaran yang ditentukan oleh pelanggan. Nilai ini boleh dimanipulasi oleh ejen pengguna dan tidak semestinya boleh dipercayai untuk tujuan keselamatan.
SERVER_NAME
Pembolehubah SERVER_NAME dikonfigurasikan dalam fail konfigurasi pelayan dan mewakili nama hos pelayan yang mengehos skrip PHP. Ia biasanya lebih dipercayai kerana ia berada di bawah kawalan pelayan.
Memilih Antara HTTP_HOST dan SERVER_NAME
Pilihan yang sesuai antara HTTP_HOST dan SERVER_NAME bergantung pada penggunaan yang dimaksudkan:
Pertimbangan Kebolehpercayaan
Adalah penting untuk ambil perhatian bahawa kebolehpercayaan SERVER_NAME adalah bergantung kepada pelayan web konfigurasi. Jika arahan UseCanonicalName tidak didayakan dalam bahagian Hos Maya Pelayan HTTP Apache, ia mungkin salah mengembalikan nilai pengepala Hos HTTP untuk SERVER_NAME.
Menetapkan UseCanonicalName kepada "hidup" memastikan bahawa Pelayan HTTP Apache menyediakan nilai SERVER_NAME yang tepat. Adalah disyorkan untuk mengesahkan konfigurasi pelayan untuk menjamin kebolehpercayaan pembolehubah ini.
Atas ialah kandungan terperinci HTTP_HOST lwn. SERVER_NAME dalam PHP: Pembolehubah Yang Harus Saya Gunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!