Data Perujuk Hilang: Menyelesaikan masalah $_SERVER['HTTP_REFERER']
Dalam PHP, pembolehubah $_SERVER['HTTP_REFERER'] digunakan untuk mengakses URL halaman yang merujuk pengguna ke halaman semasa. Walau bagaimanapun, kadangkala pembolehubah ini mungkin hilang, mengakibatkan ralat berikut:
Notice: Undefined index: HTTP_REFERER
Isu ini boleh berlaku atas beberapa sebab.
Penipuan Perujuk
Seperti yang dinyatakan dalam dokumentasi PHP, sesetengah ejen pengguna (pelayar web) membenarkan pengguna mengubah suai pengepala HTTP_REFERER. Ini bermakna bahawa data perujuk boleh tidak boleh dipercayai dan tidak boleh dipercayai sepenuhnya.
Konfigurasi Pelayan
Dalam beberapa kes, konfigurasi pelayan mungkin menghalang pembolehubah HTTP_REFERER daripada menjadi ditetapkan. Ini mungkin disebabkan oleh kebimbangan keselamatan atau pertimbangan prestasi.
Mendiagnosis Masalah
Untuk mendiagnosis masalah, anda boleh menyemak sama ada pembolehubah HTTP_REFERER ditakrifkan dalam $_SERVER tatasusunan dengan mencetaknya:
print_r($_SERVER);
Jika pembolehubah tidak ditentukan, output akan menunjukkan bahawa kunci 'HTTP_REFERER' tiada.
Alternatif kepada HTTP_REFERER
Jika $_SERVER['HTTP_REFERER'] tidak tersedia atau tidak boleh dipercayai, terdapat beberapa kaedah alternatif untuk mendapatkan perujuk data:
Kesimpulan
Walaupun $_SERVER['HTTP_REFERER'] boleh menjadi pembolehubah yang berguna, ia adalah penting untuk menyedari batasannya dan potensi ketidakpercayaan. Dengan menggunakan kaedah alternatif atau mempertimbangkan konfigurasi pelayan, anda boleh mengendalikan situasi di mana data perujuk hilang dengan berkesan.
Atas ialah kandungan terperinci Mengapakah $_SERVER[\'HTTP_REFERER\'] Saya Tiada dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!