Cara Membuat Redirect PHP tanpa Masalah
access_time
hourglass_empty
person_outline

Cara Membuat Redirect PHP tanpa Masalah

Redirect PHP adalah alat yang sangat berguna namun bisa cukup berbahaya jika tidak diaplikasikan dengan benar. 

Jika sudah mengenal PHP 7.4 dan membaca panduan kami tentang cara membuat website, Anda pasti tahu bahwa fungsi header() bisa digunakan untuk mengalihkan pengguna ke halaman lain dengan mudah. Meski begitu, fungsi ini ternyata tidak semudah kelihatannya. Dalam panduan ini, kami akan menunjukkan cara membuat redirect PHP tanpa masalah.

Metode Dasar untuk Redirect PHP

Hampir semua panduan akan memberi tahu Anda hal yang sama: cukup gunakan fungsi header() di bagian atas halaman untuk membuat redirect PHP. Untuk melakukannya, gunakan fungsi berikut untuk mengirimkan URL baru:

header('Location: '.$newURL.php);

Fungsi header ini harus ada sebelum Anda meneruskan HTML atau teks apa pun ke browser pengguna, yang berarti harus diletakkan di bagian atas halaman. Jadi, fungsi ini harus ditulis sebelum deklarasi <!DOCTYPE>, sebelum Java, dan sebelum kode PHP apa pun. Fungsi ini kemudian akan mengarahkan pengguna ke URL yang baru.

Meski terlihat mudah, kode yang menyertakan fungsi header() terkadang bisa mengecoh developer dalam hal keamanan. Jadi, mari kita lihat cara menggunakan fungsi ini dengan benar.

Die() dan Exit ()

Setiap kali menggunakan redirect PHP, Anda harus terlebih dulu menggunakan modifier die() atau exit(). Alasannya, crawler dan bot bisa mengabaikan header, sehingga halaman yang Anda kira hanya akan menjadi titik asal redirect ternyata bisa diakses olehnya. Jika alasan Anda menggunakan redirect header adalah untuk melindungi halaman tertentu, sayang sekali, cara ini tidak akan berhasil.

Itulah sebabnya Anda harus menonaktifkan redirect jika diabaikan, yaitu dengan menambahkan die() atau exit() setelah redirect:

header("Location: .$newURL.php");
die();

URL Relative dan Absolute

Selanjutnya mari kita bahas apa itu URL relative dan absolute dalam redirect PHP. Anda bisa menggunakan keduanya dengan RFC 7231, tetapi harus sangat berhati-hati saat menggunakan redirect relative. Sebab, beberapa website builder akan menyusun dan mengganti nama halaman PHP. Artinya, jika Anda menangani PHP melalui website builder, semua redirect yang sudah dibuat mungkin akan sia-sia.

Sayangnya, belum ada solusi untuk masalah ini selain dengan benar-benar memperhatikan tujuan redirect Anda.

Kode Status

Masalah ketiga dalam redirect PHP standar adalah operator “lokasi” PHP masih menghasilkan kode HTTP 302. Ini tidak boleh dibiarkan karena sejumlah web browser menerapkan kode ini dalam cara yang sangat berlawanan dengan fungsi seharusnya: bukannya benar-benar melakukan redirect PHP, tetapi justru menggunakan perintah GET.

Cara terbaik saat membuat redirect PHP adalah dengan menentukan kode yang ditampilkan. Sayangnya, kode yang harus digunakan masih menjadi perdebatan. HTTP 301 menandakan redirect permanen, yang bisa menimbulkan masalah saat Anda me-restore halaman asli. HTTP 303 sayangnya dipahami sebagai “hal lain” oleh beberapa browser dan bisa menyebabkan masalah saat mengindeks halaman Anda di mesin pencari. 

Dalam praktiknya, dan sampai ditemukan solusinya, gunakan HTTP 303.

Baca Dokumentasinya

Selain melakukan tindakan pencegahan dasar di atas, Anda juga harus membaca dokumentasi penggunaan redirect PHP sebelum memublikasikannya. Baca panduan PHP agar Anda yakin sudah memahami semua yang harus dilakukan, juga baca dokumentasi W3C untuk memastikan Anda mengikuti praktik terbaik. 

Selagi mempelajari hal-hal yang perlu dipahami, pastikan Anda juga melindungi website dari kerentanan umum: jika memang harus menggunakan redirect PHP untuk saat ini, sebaiknya audit keamanan situs Anda.

Daftar kerentanan Privacy Canada

Metode Lainnya

Dengan semua masalah ini, Anda mungkin penasaran mengapa Anda harus menggunakan redirect PHP. Itu pertanyaan yang wajar. Cara ini biasanya memang lebih cepat daripada yang lainnya, dan bisa membantu meningkatkan kecepatan website. Namun, sebenarnya ada opsi lain yang tersedia.

Ada dua metode utama untuk hal ini. Anda bisa menggunakan elemen <meta> HTML untuk membuat redirect dari bagian HTML halaman, atau menggunakan JavaScript. Metode pertama, yaitu menggunakan  <meta>, akan terlihat seperti ini:

<meta http-equiv="refresh" content="0;url=newpage.php">

Metode kedua, yaitu menggunakan JavaScript, terlihat lebih elegan dan pastinya tampak lebih profesional:

window.location.replace("http://newpage.php/");

Kedua metode ini akan sedikit lebih lambat daripada redirect header() langsung, tetapi jauh lebih fleksibel.

Kesimpulan

Mengikuti langkah di atas memang bisa memastikan redirect PHP Anda cukup aman, tapi jika akan menggunakannya beberapa kali, sebaiknya pikirkan ulang struktur situs Anda. 

Ada banyak alasan bagus untuk melakukannya. Pertama, tidak semua host web dibuat sama. Jika semua pengunjung diarahkan ke rute yang cukup rumit di situs Anda, performanya juga akan terpengaruh. Ini bisa ditingkatkan secara cukup baik menggunakan penyedia hosting web murah, meskipun masih ada batasannya.

Alasan kedua, halaman yang menjadi titik asal redirect mungkin saja mengumpulkan data pengunjung tanpa diketahui, khususnya jika Anda menggunakan software analitik web untuk memantau performa situs. Setelah diberlakukannya GDPR, konsekuensi masalah ini mungkin akan cukup berat.

Jadi, kesimpulannya, cermatlah mengenai redirect PHP, gunakan dengan baik, dan hanya gunakan jika memang diharuskan.

Penulis

Author

Faradilla Ayunindya / @faradilla

Faradilla adalah penerjemah bahasa Inggris ke bahasa Indonesia yang menyukai segala hal tentang IT dan senang mengikuti tren seputar teknologi. Ia ingin turut berbagi informasi mengenai topik yang sedang populer di dunia online melalui tutorial yang ditulisnya di blog Hostinger.

Tutorial terkait

Ketik balasan

Komentar*

Nama*

Email*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Jadilah bagian dari Hostinger!