• <samp id="mz5ne"><acronym id="mz5ne"></acronym></samp>
      <ol id="mz5ne"></ol>
    1. <samp id="mz5ne"></samp>
      <mark id="mz5ne"></mark>

        <fieldset id="mz5ne"></fieldset>

        免费看又黄又无码的网站_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片_日本最新免费二区三区

        ×

        rel=noopener標(biāo)簽維護window.opener的安全

        分類:建站推廣 編輯:新網(wǎng)小青年 瀏覽量:184
        2020-10-21 17:31:52
        rel=noopener標(biāo)簽雖小,可能對不懂開發(fā)的很多人來說對noopener標(biāo)簽了解的不很多,但他在維護window.opener的安全上有重大作用。

        window.opener 屬性是一個可讀可寫的屬性,可返回對創(chuàng)建該窗口的 Window 對象的引用。例如: window.opener.close()將關(guān)閉源(父)窗口。但a鏈接需要有 target="_blank"才會有這個問題。因為沒有target="_blank"就不存在源(父)窗口。

        關(guān)于window.opener

        window.opener 表示打開當(dāng)前窗體頁面的的父窗體是誰。

        例如,在 A 頁面中,通過一個帶有 target="_blank" 的 a 標(biāo)簽打開了一個新的頁面 B,那么在 B 頁面里,window.opener 的值為 A 頁面的 window 對象。

        無來源的打開的頁面,或者被禁止了 opener 的頁面創(chuàng)建/打開,opener 的值為 null。


        一般來說,打開同源(域名相同)的頁面,不會有什么問題。但對于跨域的外部鏈接來說,存在一個安全上的風(fēng)險。
        在跨域的情況下,window.opener 拿不到來源頁面的具體內(nèi)容,但是 window.opener.location 卻是例外。它會帶來什么問題呢?

        舉個栗子:

        假如你在百度首頁添加了一個鏈接(例如: https://agent.xinnet.com),通過訪問新網(wǎng)首頁點擊了這個鏈接,正常情況下會打開一個新頁面,新頁面自然是 https://agent.xinnet.com。

        如果沒有對這個主頁鏈接設(shè)置禁用 window.opener 的跟蹤,在打開的 https://agent.xinnet.com 頁面,可以通過 window.opener.location 改寫來源站點的地址。利用這一點,將來源站點改寫到釣魚站點頁面上,例如跳轉(zhuǎn)到偽造的百度登陸頁面,那么粗心的用戶很難發(fā)現(xiàn)這一變化,那么他的賬號就存在偷走的可能了。


        因為如前面所講,在新打開的頁面(baidu)中可以通過window.opener獲取到源頁面的部分控制權(quán),即使新打開的頁面是跨域的也照樣可以(例如 location 就不存在跨域問題),
        那么你就讓用戶暴露在一個非常簡單的危險境地。
        第三方網(wǎng)站可以通過window.opener來操作源頁面,會有很大的安全隱患,比如:
        if (window.opener) {
            window.opener.location = "**網(wǎng)站地址**?referrer="+document.referrer;
        }
        復(fù)制代碼第三方網(wǎng)站就可以更改源頁面的地址源,你本來瀏覽的是自己的網(wǎng)站,點擊了這個鏈接后,第三方的一個操作,你的頁面就變成了第三方給你設(shè)置的網(wǎng)站了,就如上邊舉得那個栗子。

        所以為了限制 window.opener的訪問行為,為了安全起見,原始頁面需要在每個使用了target="_blank"的鏈接中加上一個rel="noopener"屬性,規(guī)定禁止新頁面?zhèn)鬟f rel=noopener,通過設(shè)置了此屬性的鏈接打開的頁面,其 window.opener 的值為 null。但該屬性在 chrome 49+,Opera 36+ 版本中才得到支持。在不支持 rel=noopener 屬性的瀏覽器中,可以使用 rel=noreferrer 禁用 HTTP 頭部的 Referer 屬性跟蹤來源頁面,得到的效果一樣。

        這樣網(wǎng)站會阻止不法者者獲取有關(guān)鏈接源和與 referrer 鏈接相關(guān)的任何數(shù)據(jù)的信息??梢杂行У姆乐勾蜷_的子頁面操控源頁面跳轉(zhuǎn)到另一個相似的違法網(wǎng)站,提高網(wǎng)站安全性。

        聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)

        送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時

        需注明出處:新網(wǎng)idc知識百科

        免費咨詢獲取折扣

        Loading
        国产精品视频白浆免费视频_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片
      1. <samp id="mz5ne"><acronym id="mz5ne"></acronym></samp>
          <ol id="mz5ne"></ol>
        1. <samp id="mz5ne"></samp>
          <mark id="mz5ne"></mark>

            <fieldset id="mz5ne"></fieldset>
            丰原市| 禄劝| 滨州市| 桦甸市| 罗平县| 汶川县| 织金县| 盐源县| 宁国市| 馆陶县| 宜君县| 三穗县| 小金县| 龙游县| 黔西| 理塘县| 县级市| 邻水| 武鸣县| 望奎县| 武城县| 资源县| 水富县| 宣化县| 工布江达县| 天祝| 称多县| 开远市| 当雄县| 苍梧县| 南投县| 工布江达县| 浦城县| 平遥县| 岳阳市| 皮山县| 炉霍县| 东莞市| 永泰县| 马龙县| 南投市|