Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Pembolehubah PHP $_SERVER[\'HTTP_REFERER\'] Saya Hilang dan Apakah Alternatifnya?

Mengapa Pembolehubah PHP $_SERVER[\'HTTP_REFERER\'] Saya Hilang dan Apakah Alternatifnya?

Barbara Streisand
Lepaskan: 2024-11-23 06:32:13
asal
651 orang telah melayarinya

Why is My PHP $_SERVER['HTTP_REFERER'] Variable Missing and What Are the Alternatives?

Pembolehubah "HTTP_REFERER" Tiada dalam PHP

Dalam PHP, pembolehubah $_SERVER['HTTP_REFERER'] digunakan untuk mengakses URL halaman yang dipautkan ke halaman semasa. Walau bagaimanapun, sesetengah pembangun mungkin menghadapi ralat "Notis: Indeks tidak ditentukan: HTTP_REFERER".

Ralat ini berlaku kerana, menurut dokumentasi PHP, pembolehubah HTTP_REFERER tidak selalu tersedia. Ia ditetapkan oleh ejen pengguna (cth., pelayar) dan boleh diubah suai oleh pengguna. Selain itu, tidak semua ejen pengguna akan memberikan maklumat ini.

Memahami Pembolehubah HTTP_REFERER

Pembolehubah HTTP_REFERER ialah pengepala permintaan HTTP yang menunjukkan URL halaman yang merujuk pengguna ke halaman semasa. Maklumat ini berguna dalam pelbagai cara, seperti:

  • Menjejak tingkah laku pengguna dan aliran trafik tapak web
  • Mengesan permintaan berniat jahat atau spam
  • Mencegah pemalsuan permintaan merentas tapak (CSRF) serangan

Alternatif kepada HTTP_REFERER

Memandangkan HTTP_REFERER tidak boleh dipercayai sepenuhnya dan mungkin tidak tersedia, pendekatan alternatif ialah menggunakan kaedah getDocumentReferrer() dalam objek tetingkap JavaScript. Kaedah ini mengembalikan URL halaman yang dipautkan ke halaman semasa dan lebih dipercayai daripada HTTP_REFERER.

Contoh

const referrer = document.referrer;
Salin selepas log masuk

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kaedah ini mungkin tidak berfungsi dalam semua pelayar dan mungkin juga diubah suai oleh pengguna.

Atas ialah kandungan terperinci Mengapa Pembolehubah PHP $_SERVER['HTTP_REFERER'] Saya Hilang dan Apakah Alternatifnya?. 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