Stan Blog

學習過程中的一些記錄

[Security] target: "_blank" 安全漏洞

寫網頁常常用到 < a> 這個 tag 定義 hyperlink

其中有一個參數 target: “_blank”,可以設定點擊後是否開啟新分頁

但這個屬性,有安全上的風險

target: “_blank” 不安全?

例如: 文章中有一個對外的連結,如下

<a href="http://example.com" target="_blank"></a>

點擊後原本頁面(父頁面)不變,會另開一個新視窗來開啟這個頁面(子頁面)

因為子頁面會透過 window.opener(w3school) 得到父頁面的部份控制權 (跨網域 也可以)

如果連過去的新頁面,藏有惡意的 javascripts,會有被攻擊的風險

找到一個不錯的 範例

大家可以想像一下,點擊了第一個連結。父頁面被掉包成釣魚網站,我們回到父頁面重新輸入帳號密碼後,帳密就被有心人士取得…

解決方式

使用 rel=“noopener”

加上這個參數後,可以使 window.opener === null

父頁面便不會受到子頁面的 javascripts 影響


Ref:

Comments

comments powered by Disqus