摘要:同步自我的博客最近梳理團(tuán)隊時,在的配置中發(fā)現(xiàn)了這么一項官方文檔的介紹大概是這樣的如果你需要用標(biāo)簽打開一個標(biāo)簽頁時,你會使用這個屬性,此時你需要添加這就讓人很迷惑了,這倆屬性是干什么的呢,一下方才知道,它是為了解決安全問題。
同步自我的博客
最近梳理團(tuán)隊 eslint 時,在 airbnb 的配置中發(fā)現(xiàn)了這么一項
"react/jsx-no-target-blank": 2
官方文檔的介紹大概是這樣的
如果你需要用 a 標(biāo)簽打開一個標(biāo)簽頁時,你會使用 target="_blank" 這個屬性,此時你需要添加 rel="noreferrer noopener"
這就讓人很迷惑了,這倆屬性是干什么的呢,google 一下方才知道,它是為了解決安全問題。
當(dāng)你使用 target="_blank" 打開一個新的標(biāo)簽頁時,新頁面的 window 對象上有一個屬性 opener,它指向的是前一個頁面的 window 對象,因此,后一個頁面就獲得了前一個頁面的控制權(quán),so 可怕??!
比如的 a 標(biāo)簽是這樣 打開連接 ,打開后在控制臺輸入 window.opener.alert(1) 看看?
甚至在跨域的情況下他也可以生效,比如打開 鏈接后,你可以使用 window.opener.location.replace 更改前一個頁面的 url。
那么,為了避免這種情況,就需要咱們的主角登場了!
比如你的鏈接現(xiàn)在變成了這樣 鏈接 ,再打開后你會發(fā)現(xiàn) window.opener 已經(jīng)被置為了 null,如果是一些舊的瀏覽器,可以使用 rel=noreferrer,它不僅禁用了 window.opener,后一個頁面也無法獲取到 referrer,再不行,可以利用 js 來打開新的頁面,之后將 opener 置為 null 來完成這個功能
var otherWindow = window.open(); otherWindow.opener = null; otherWindow.location = url;
參考文檔
https://html.spec.whatwg.org/...
https://mathiasbynens.github....
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/50909.html
摘要:惡意網(wǎng)站根據(jù)來偽造一個足以欺騙用戶的頁面,并展示出來期間還可以做一次跳轉(zhuǎn),使得瀏覽器的地址欄更具有迷惑性。而如果在鏈接中加入了,則此時兩個標(biāo)簽頁將會互不干擾,使得原頁面的性能不會受到新頁面的影響。 在網(wǎng)頁中使用鏈接時,如果想要讓瀏覽器自動在新的標(biāo)簽頁打開指定的地址,通常的做法就是在 a 標(biāo)簽上添加 target等于_blank 屬性。然而,就是這個屬性,為釣魚攻擊者帶來了可乘之機(jī)。 s...
摘要:惡意網(wǎng)站根據(jù)來偽造一個足以欺騙用戶的頁面,并展示出來期間還可以做一次跳轉(zhuǎn),使得瀏覽器的地址欄更具有迷惑性。而如果在鏈接中加入了,則此時兩個標(biāo)簽頁將會互不干擾,使得原頁面的性能不會受到新頁面的影響。 在網(wǎng)頁中使用鏈接時,如果想要讓瀏覽器自動在新的標(biāo)簽頁打開指定的地址,通常的做法就是在 a 標(biāo)簽上添加 target等于_blank 屬性。然而,就是這個屬性,為釣魚攻擊者帶來了可乘之機(jī)。 s...
摘要:惡意網(wǎng)站根據(jù)來偽造一個足以欺騙用戶的頁面,并展示出來期間還可以做一次跳轉(zhuǎn),使得瀏覽器的地址欄更具有迷惑性。而如果在鏈接中加入了,則此時兩個標(biāo)簽頁將會互不干擾,使得原頁面的性能不會受到新頁面的影響。 在網(wǎng)頁中使用鏈接時,如果想要讓瀏覽器自動在新的標(biāo)簽頁打開指定的地址,通常的做法就是在 a 標(biāo)簽上添加 target等于_blank 屬性。然而,就是這個屬性,為釣魚攻擊者帶來了可乘之機(jī)。 s...
Background Today eslint reports an error when I introduce eslint-plugin-react error Using target=_blank without rel=noopener noreferrer is a security risk: see https://mathiasbynens.github.io/rel-noo...
摘要:當(dāng)一個外部鏈接使用了的方式,這個外部鏈接會打開一個新的瀏覽器。此時,新頁面會打開,并且和原始頁面占用同一個進(jìn)程。筆者的總結(jié)這是一篇很短的文章,主要介紹了在使用標(biāo)簽打開一個新窗口過程中的安全問題。 本文首發(fā)于公眾號: 符合預(yù)期的CoyPan本文章翻譯于:https://medium.com/front-end-weekly/prevent-sending-http-referer-hea...
閱讀 1158·2023-04-25 17:51
閱讀 2938·2021-11-23 09:51
閱讀 1558·2021-11-08 13:21
閱讀 2594·2021-09-22 15:14
閱讀 1584·2019-08-30 12:48
閱讀 1146·2019-08-29 12:44
閱讀 1198·2019-08-26 12:21
閱讀 1454·2019-08-26 10:47