Saya melihat orang-orang merekomendasikan bahwa setiap kali seseorang menggunakan target="_blank"
tautan untuk membukanya di jendela yang berbeda, mereka harus meletakkannya rel="noopener noreferrer"
. Saya bertanya-tanya bagaimana hal ini mencegah saya menggunakan Alat Pengembang di Chrome, misalnya, dan menghapus atribut rel. Kemudian mengklik link ...
Apakah itu cara mudah untuk tetap menjaga kerentanan?
noopener
setidaknya, tetapi seperti yang ditunjukkan di bawah ini,noreferrer
berlebihan): hacks.mozilla.org/2020/07/firefox-79Jawaban:
Anda mungkin salah paham tentang kerentanan. Anda dapat membaca lebih lanjut tentang itu di sini: https://www.jitbit.com/alexblog/256-targetblank---the-most-underestimated-vulnerability-ever/
Pada dasarnya, menambahkan
rel="noopener noreferrer"
tautan melindungi pengguna situs Anda agar situs yang Anda tautkan berpotensi membajak browser (melalui JS nakal).Anda bertanya tentang menghapus atribut itu melalui Alat Pengembang - yang hanya akan berpotensi membuat Anda (orang yang merusak atribut tersebut) terkena kerentanan.
sumber
noopener noreferrer
mubazir, karenanoreferrer
menyertakan fungsionalitasnoopener
. html.spec.whatwg.org/multipage/links.html#link-type-noreferrerTautan
target="_blank"
yang memilikinya rentan terhadap laman perujuk yang ditukar di latar belakang sementara perhatian pengguna dialihkan oleh tab yang baru dibuka. Ini dikenal sebagai tabnapping terbalik :Halaman perujuk disimpan di
window.opener
, dan situs berbahaya dapat memodifikasinya melalui:if (window.opener) { window.opener.location = "https://phish.example.com"; }
Menambahkan
rel="noopener noreferrer"
perbaikan kerentanan ini di semua browser utama.Perhatikan bahwa Anda secara teoritis dapat menghapus sisi
rel
klien melalui manipulasi ... tetapi mengapa Anda ingin? Yang Anda lakukan hanyalah membuat diri Anda rentan terhadap serangan itu.Pengguna lain yang mengunjungi situs web yang sama (dan tidak mengubah kode sisi klien mereka sendiri) akan tetap aman, karena server akan tetap menyajikan
rel="noopener noreferrer"
. Penghapusan Anda hanya berlaku untuk Anda.sumber
Tag anchor
rel=”noopener”
ataurel=”noreferrer”
atribut meningkatkan keamanan situs web, tetapi beberapa orang ingin mengabaikannya karena mereka pikir itu akan memengaruhi pengoptimalan mesin pencari situs web mereka, tetapi itu hanya mitos. Ini melindungi kerahasiaan audiens situs Anda dan mencegah situs web eksternal dengan menyebarkan kode berbahaya.sumber
noreferrer
bagian itu.Jika konsol pengembang menunjukkan peringatan mengenai
noopener noreferrer
, pastikan Anda menambahkan keduanyanoopener
dannoreferrer
dalam rel. link harus seperti di bawah ini:<a href="www.google.com" target="_blank" rel="noopener noreferrer" />
sumber