Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Pembolehubah $_SERVER[\'HTTP_REFERER\'] Saya Hilang atau Tidak Boleh Dipercayai?

Mengapa Pembolehubah $_SERVER[\'HTTP_REFERER\'] Saya Hilang atau Tidak Boleh Dipercayai?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-29 20:58:14977semak imbas

Why is My $_SERVER['HTTP_REFERER'] Variable Missing or Untrustworthy?

Mengapakah $_SERVER['HTTP_REFERER'] Hilang?

Apabila cuba menggunakan $_SERVER['HTTP_REFERER'] dalam skrip PHP anda , anda menghadapi ralat: Notis: Indeks tidak ditentukan: HTTP_REFERER. Ketiadaan ini berpunca daripada ciri yang wujud bagi pembolehubah.

Memahami $_SERVER['HTTP_REFERER']

Pembolehubah HTTP_REFERER mengandungi URL halaman yang mengarahkan pengguna untuk halaman semasa anda. Walau bagaimanapun, mengikut dokumentasi PHP:

"Alamat halaman (jika ada) yang merujuk ejen pengguna ke halaman semasa. Ini ditetapkan oleh ejen pengguna. Tidak semua ejen pengguna akan menetapkan ini, dan sesetengahnya menyediakan keupayaan untuk mengubah suai HTTP_REFERER sebagai ciri Ringkasnya, ia tidak benar-benar boleh dipercayai."

Dengan kata lain, tidak semua ejen pengguna menghantar pembolehubah ini, dan mereka yang melakukannya mungkin membenarkan pengguna untuk. memanipulasi nilainya. Oleh itu, bergantung pada HTTP_REFERER untuk maklumat perujuk yang tepat adalah tidak boleh dipercayai.

Alternatif kepada $_SERVER['HTTP_REFERER']

Memandangkan pengehadan HTTP_REFERER, pertimbangkan kaedah alternatif untuk penjejakan pengguna rujukan:

  • Pengepala Perujuk Tersuai: Buat pengepala HTTP tersuai untuk menghantar URL perujuk secara eksplisit.
  • Ubah hala dengan Rentetan Pertanyaan: Ubah hala pengguna ke halaman anda dengan rentetan pertanyaan yang mengandungi perujuk URL.
  • Pembolehubah Sesi: Simpan URL perujuk dalam pembolehubah sesi semasa lawatan awal dan aksesnya kemudian.
  • Alat Analitis Pihak Ketiga: Gunakan alatan analitis seperti Analitis Google untuk mengumpul data perujuk.

Atas ialah kandungan terperinci Mengapa Pembolehubah $_SERVER[\'HTTP_REFERER\'] Saya Hilang atau Tidak Boleh Dipercayai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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