Link ke tujuan lintas asal tidak aman

Saat Anda menautkan halaman di situs lain menggunakan atribut target="_blank", situs Anda dapat mengalami masalah performa dan keamanan:

  • Halaman lainnya dapat berjalan pada proses yang sama seperti halaman Anda. Jika halaman lain menjalankan banyak JavaScript, performa halaman Anda mungkin akan menurun.
  • Halaman lainnya dapat mengakses objek window dengan properti window.opener. Hal ini memungkinkan halaman lain mengalihkan halaman Anda ke URL berbahaya.

Menambahkan rel="noopener" atau rel="noreferrer" ke link target="_blank" akan menghindari masalah ini.

Cara audit tujuan lintas asal Lighthouse gagal

Lighthouse menandai link tidak aman ke tujuan lintas asal:

Audit Lighthouse yang menampilkan link tidak aman ke tujuan lintas origin

Lighthouse menggunakan proses berikut untuk mengidentifikasi link sebagai tidak aman:

  1. Kumpulkan semua tag <a> yang berisi atribut target="_blank", tetapi bukan atribut rel="noopener" atau rel="noreferrer".
  2. Filter semua link host yang sama.

Karena Lighthouse memfilter link host yang sama, ada kasus ekstrem yang harus Anda perhatikan jika bekerja di situs besar: jika satu halaman berisi link target="_blank" ke halaman lain di situs Anda tanpa menggunakan rel="noopener", implikasi performa dari audit ini masih berlaku. Namun, Anda tidak akan melihat link ini di hasil Lighthouse.

Cara meningkatkan performa situs Anda dan mencegah kerentanan keamanan

Tambahkan rel="noopener" atau rel="noreferrer" ke setiap link yang diidentifikasi dalam laporan Lighthouse Anda. Secara umum, saat Anda menggunakan target="_blank", selalu tambahkan rel="noopener" atau rel="noreferrer":

<a href="https://examplepetstore.com" target="_blank" rel="noopener">
  Example Pet Store
</a>
  • rel="noopener" mencegah halaman baru dapat mengakses properti window.opener dan memastikannya berjalan dalam proses terpisah.
  • rel="noreferrer" memiliki efek yang sama, tetapi juga mencegah header Referer dikirim ke halaman baru. Lihat Jenis link "noreferrer".

Lihat postingan Membagikan resource lintas origin dengan aman untuk mengetahui informasi selengkapnya.

Referensi