風(fēng)飛揚  夢起航

          風(fēng)飛揚個人博客——專注Java

          target="_blank"的安全缺陷


              最近在多個地方看到有關(guān)  target="_blank" 的安全缺陷  文章,下面來簡單總結(jié)一下。

              可能大家在寫網(wǎng)頁的時候經(jīng)常給超鏈接加個屬性 target="_blank",意思就是在瀏覽器新的窗口打開此超鏈接,但是大多數(shù)人應(yīng)該都注意不到這個屬性是有安全缺陷的。

              具體說明下:比如說,當(dāng)前網(wǎng)頁(即你現(xiàn)在所處的風(fēng)飛揚博客的頁面)中有個a標(biāo)簽的是
          1
          2
              


              點擊后跳轉(zhuǎn)到的新的窗口的網(wǎng)頁(在這里是新的風(fēng)飛揚博客中一個測試頁面)擁有了瀏覽器window.opener對象賦予的對原網(wǎng)頁(在這里是你現(xiàn)在所處的頁面)的部分權(quán)限。

              對于這種正常的情況就不做demo演示了,此處不做特殊處理的話就是點擊超鏈接打開了2個普通的頁面罷了。

              但是如果我在新打開的頁面上加上一句JavaScript就不一樣了, 上代碼

              請點擊此超鏈接測試有安全缺陷的情況:這是測試有安全隱患的超鏈接

              這個安全隱患就可能被別有用心的人所利用,用戶可能很少注意地址欄的變化,這樣的話如果做個和正規(guī)網(wǎng)站一樣的界面可能就很容易以假換真,后果還是比較嚴重的。

              那么逼逼了半天,該如何解決呢?

              
          在target="_blank"后面再添加一個屬性 rel="noopener noreferrer"就行了,不用多說,相信明眼人一看就知道這個屬性的意圖了。如下所示:

              再次測試一下沒有該安全缺陷的情況:這是測試沒有該安全隱患的超鏈接

              總結(jié)一下:下次再做開發(fā)的時候別怕麻煩最好在target="_blank"后面添加一句 rel="noopener noreferrer"


          posted on 2016-08-30 12:53 風(fēng)飛揚(windfly) 閱讀(151) 評論(0)  編輯  收藏 所屬分類: 網(wǎng)絡(luò)安全與測試


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          公告



          網(wǎng)名:風(fēng)飛揚

          英文名:windfly

          博客:windfly.blogjava.net

          個人簡介:不講究 , 不將就

          導(dǎo)航

          最新評論

          風(fēng)飛揚
        1. 首頁
        2. 未命名
        3. 筆記
        4. 未命名
        5. 筆記
        6. 未命名
        7. 音樂
        8. 主站蜘蛛池模板: 涡阳县| 新邵县| 汾西县| 宜君县| 习水县| 石泉县| 孝感市| 固原市| 临泉县| 万宁市| 两当县| 上杭县| 宿松县| 郯城县| 沁阳市| 罗定市| 高密市| 乳山市| 盘锦市| 宁国市| 万全县| 苗栗县| 恩施市| 嘉兴市| 永年县| 邛崃市| 准格尔旗| 沛县| 榆中县| 芦溪县| 台东县| 蚌埠市| 鸡东县| 东源县| 乌兰察布市| 甘谷县| 开鲁县| 镇赉县| 衡阳市| 西峡县| 荣昌县|