Penggunaan fungsi HTTP_REFERER pada PHP

Informasi yang Anda lihat tertulis di situs web hanyalah sebagian data yang dikirimkan oleh situs tersebut saat mereka melakukan perjalanan dari server web ke peramban seseorang dan sebaliknya. Ada juga cukup banyak transfer data yang terjadi di belakang layar - dan jika Anda tahu cara mengakses data itu, Anda mungkin dapat menggunakannya dengan cara yang menarik dan bermanfaat! Dalam artikel ini kita akan melihat satu bagian data tertentu yang ditransfer selama proses ini - perujuk HTTP.

Referer adalah salah mengeja kata pengarah , yang diperkenalkan dan tetap dalam kode dan penamaan kemampuan ini.

Apa itu HTTP Referer?

Pengarah HTTP adalah data yang dilewatkan oleh browser web ke server untuk memberi tahu Anda apa halaman pembaca berada sebelum mereka datang ke halaman ini. Informasi ini dapat digunakan di situs web Anda untuk memberikan bantuan tambahan, membuat penawaran khusus untuk pengguna yang ditargetkan, mengalihkan pelanggan ke halaman dan konten yang relevan, atau bahkan untuk memblokir pengunjung agar tidak datang ke situs Anda. Anda juga dapat menggunakan bahasa scripting seperti JavaScript, PHP, atau ASP untuk membaca dan mengevaluasi informasi pengarah.

Mengumpulkan Informasi Pengarah Dengan PHP, JavaScript, dan ASP

Jadi, bagaimana Anda mengumpulkan data perujuk HTTP ini? Berikut beberapa metode yang dapat Anda gunakan:

PHP menyimpan informasi referensi dalam variabel sistem yang disebut HTTP_REFERER. Untuk menampilkan referer pada halaman PHP Anda dapat menulis:

if (isset ($ _ SERVER 'HTTP_REFERER'))) {echo $ _SERVER 'HTTP_REFERER';}

Ini memeriksa bahwa variabel memiliki nilai dan kemudian mencetaknya ke layar. Alih-alih

echo $ _SERVER 'HTTP_REFERER'; Anda akan menempatkan baris skrip di tempat untuk memeriksa berbagai referensi.

JavaScript menggunakan DOM untuk membaca referensi. Sama seperti dengan PHP, Anda harus memeriksa untuk memastikan bahwa pengarah memiliki nilai. Namun, jika Anda ingin memanipulasi nilai itu, Anda harus mengaturnya ke variabel terlebih dahulu. Di bawah ini adalah bagaimana Anda akan menampilkan referer ke halaman Anda dengan JavaScript. Perhatikan bahwa DOM menggunakan ejaan alternatif pengarah, menambahkan ekstra "r" di sana:

if (document.referrer) {var myReferer = document.referrer;document.write (myReferer);}

Kemudian Anda dapat menggunakan perujuk dalam skrip dengan variabel

myReferer

ASP, seperti PHP, menetapkan pengarah dalam variabel sistem. Anda kemudian dapat mengumpulkan informasi seperti ini:

if (Request.ServerVariables ("HTTP_REFERER")) {Dim myReferer = Request.ServerVariables ("HTTP_REFERER")Response.Write (myReferer)}

Anda dapat menggunakan variabel

myReferer untuk menyesuaikan skrip Anda seperlunya.

Setelah Anda Memiliki Pengarah, Apa Yang Dapat Anda Lakukan Dengan Ini?

Jadi mendapatkan data adalah langkah 1. Bagaimana Anda melakukannya akan bergantung pada situs Anda yang spesifik. Langkah selanjutnya, tentu saja, adalah menemukan cara untuk menggunakan informasi ini.

Setelah Anda memiliki data pengarah, Anda dapat menggunakannya untuk membuat skrip situs Anda dalam beberapa cara. Satu hal sederhana yang dapat Anda lakukan adalah hanya memposting di mana Anda berpikir pengunjung berasal. Harus diakui, itu cukup membosankan, tetapi jika Anda perlu menjalankan beberapa tes, itu mungkin merupakan titik masuk yang baik untuk bekerja.

Apa contoh yang lebih menarik adalah ketika Anda menggunakan referer untuk menampilkan informasi yang berbeda tergantung pada dimana mereka berasal. Misalnya, Anda dapat melakukan hal berikut:

  • Pesan selamat datang umum
    • Anda dapat mencetak URL referensi di bagian atas halaman Anda dalam pesan sambutan umum. Seperti yang saya sebutkan di atas sangat membosankan, tetapi menawarkan beberapa personalisasi dasar.
  • Selamat datang pengunjung mesin pencari
    • Ketika seseorang telah tiba di situs Anda dari mesin pencari (yaitu referer mereka adalah google.com atau bing.com atau yahoo.com, dll.), Anda mungkin ingin memberi mereka sedikit informasi tambahan untuk mendorong mereka agar lebih lama di situs Anda. Anda bisa menunjukkan URL newsletter Anda atau memberi mereka tautan ke beberapa halaman yang lebih populer di situs Anda.
  • Berikan informasi ke formulir
    • Jika Anda memiliki tautan di situs Anda agar orang-orang melaporkan masalah dengan situs itu sendiri, mengetahui bahwa pengarah dapat sangat berguna. Orang-orang akan sering melaporkan masalah dengan halaman web tanpa menunjukkan URL, tetapi Anda dapat menggunakan informasi referensi untuk membuat tebakan tentang apa yang mereka laporkan. Skrip ini akan menambahkan perujuk ke bidang formulir tersembunyi, yang memungkinkan Anda beberapa data mengenai tempat di situs yang mungkin mereka temui masalahnya.
  • Buat penawaran khusus untuk beberapa pengunjung
    • Mungkin Anda ingin memberi orang-orang yang berasal dari halaman khusus, kesepakatan khusus tentang produk atau layanan Anda. Ini adalah contoh lain dari personalisasi, di mana Anda membentuk pengalaman pengguna mereka dan konten yang mereka lihat berdasarkan data pengguna mereka, Misalnya, jika Anda menjual berbagai produk, Anda mungkin bisa menawarkan kesepakatan yang relevan dengan apa yang telah mereka melihat satu situs Anda.
  • Kirim pengunjung ke halaman lain
    • Anda juga dapat mengirim orang dari referensi khusus ke halaman lain sekaligus. Berhati-hatilah dengan ini, karena Google dan mesin pencari lainnya mungkin menganggap ini sebagai menyesatkan dan menghukum situs Anda.

Blokir Pengguna dengan .htaccess oleh Referer

Dari sudut pandang keamanan, jika Anda mengalami banyak perujuk spam di situs Anda dari satu domain tertentu, itu dapat membantu untuk sekadar memblokir domain tersebut dari situs Anda. Jika Anda menggunakan Apache dengan mod_rewrite diinstal, Anda dapat memblokir mereka dengan beberapa baris. Tambahkan yang berikut ini ke Anda

file .htaccess:

RewriteEngine di# Opsi + FollowSymlinksRewriteCond% {HTTP_REFERER} spammer .com NCRewriteRule. * - F

Ingat untuk mengubah kata

spammer .com ke domain yang ingin Anda blokir. Ingat untuk meletakkan di depan setiap periode dalam domain.

Jangan Bergantung pada Pengarah

Ingat bahwa mungkin untuk spoof referer, jadi Anda harus tak pernah gunakan referer saja untuk keamanan. Anda dapat menggunakannya sebagai add-on untuk keamanan Anda yang lain, tetapi jika halaman hanya boleh diakses oleh orang-orang tertentu, maka Anda harus menetapkan kata sandi di dalamnya dengan

htaccess.