整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          防止網站被iframe內框架調用的方法

          天有人反饋了一個在iframe內無法調用網站同一個站點的頁面問題并報錯,就在網站查了一些相關的資料,整理一下關于禁止網站所有頁面或某一個頁面被iframe內框架調用的方法。

          網站iframe內框架調用頁面報錯如下

          Refused to display http://xxxxxx.com in a frame because it set 'X-Frame-Options' to 'deny'.
          

          通過查到的資料可得知,此錯誤與iframe框架被調用頁面的 HTTP 標頭中 X-Frame-Options 設置有關,所以整理了如下資料

          X-Frame-Options 介紹

          X-Frame-Options是一個HTTP響應頭,用來告訴瀏覽器此頁面是否可以在其它網頁中的frame或iframe標簽中被渲染,網站可以利用此響應頭來避免被其它網站所劫持。

          X-Frame-Options有三個參數值,分別如下

          DENY:表示不能被嵌入到任何iframe或frame中。

          SAMEORIGIN:表示頁面只能被本站頁面嵌入到iframe或者frame中。

          url,指定是一個域名,表示此網頁只能被指定域名下的頁面中的框架所調用

          X-Frame-Options 使用如下

          html代碼

          以下代碼,添加到HTML頁面中的head標簽內即可

          代碼1:html頁面禁止被框架調用

          <meta http-equiv="X-Frame-Options" content="deny">
          

          代碼2:只允許頁面被本站調用

          <meta http-equiv="X-Frame-Options" content="SAMEORIGIN">
          

          代碼3:只允許頁面被指定URL嵌套調用

          <meta http-equiv="X-Frame-Options" content="http://www.feiniaomy.com">
          

          PHP代碼

          <?php
          //示例1
          header('X-Frame-Options: deny');
          //示例2
          header('X-Frame-Options: SAMEORIGIN');
          //示例3
          header('X-Frame-Options: http://www.feiniaomy.com');
          ?>
          

          PS:網站被iframe內框架調用的危害性

          攻擊者可以使用一個透明的、不可見的iframe標簽,加載目標頁面,然后通過調整iframe頁面的位置,誘導用戶進行點擊操作頁面的功能區,并劫持用戶的數據,達到劫持頁面的目的。

          <script type="text/javascript">
          
          if (window!=top) // 判斷當前的window對象是否是top對象
          
          top.location.href =window.location.href; 
          // 如果不是,將top對象的網址自動導向被嵌入網頁的網址
          
          </script>

          段代碼是有效的。但是,有一個問題:使用后,任何人都無法再把你的網頁嵌入框架了,包括你自己在內。

          有沒有一種方法,使得我的網頁只能被嵌入我自己的框架,而不是別人的框架?

          最終代碼如下

          try{
          
            top.location.hostname;
          
            if (top.location.hostname != window.location.hostname) {
          
              top.location.href =window.location.href;
          
            }
          
          }
          
          catch(e){
          
            top.location.href = window.location.href;
          
          }


          原文地址:

          http://www.ruanyifeng.com/blog/2010/08/anti-frameset_javascript_codes_continued.html

          通過使用框架,你可以在同一個瀏覽器窗口中顯示不止一個頁面。每份HTML文檔稱為一個框架,并且每個框架都獨立于其他的框架。

          使用框架的壞處:

          • 開發人員必須同時跟蹤更多的HTML文檔
          • 很難打印整張頁面

          框架結構標簽(<frameset>)

          • 框架結構標簽(<frameset>)定義如何將窗口分割為框架
          • 每個 frameset 定義了一系列行
          • rows/columns 的值規定了每行或每列占據屏幕的面積

          框架標簽(Frame)

          Frame 標簽定義了放置在每個框架中的 HTML 文檔。

          在下面的這個例子中,我們設置了一個兩列的框架集。第一列被設置為占據瀏覽器窗口的 25%。第二列被設置為占據瀏覽器窗口的 75%。HTML 文檔 "frame_a.htm" 被置于第一個列中,而 HTML 文檔 "frame_b.htm" 被置于第二個列中:

          <html>
          <frameset cols="25%,75%">
           <frame src="/example/html/frame_a.html">
           <frame src="/example/html/frame_b.html">
          </frameset>
          </html>
          

          HTML基礎教程:框架基礎


          主站蜘蛛池模板: 久久久99精品一区二区| 久久久精品人妻一区亚美研究所| 无码人妻一区二区三区av| 手机看片一区二区| 国产精品亚洲一区二区在线观看 | 亚洲一区免费观看| 亚洲福利视频一区二区| 无码日韩精品一区二区免费| 久久精品一区二区三区资源网 | 国产乱码精品一区二区三区| 久久亚洲AV午夜福利精品一区| 亚洲成a人一区二区三区| 无码一区二区波多野结衣播放搜索| 亚洲AV无码一区二区二三区入口| 国产一区二区精品久久岳| 亚洲国产成人久久一区WWW | 亚洲一区二区无码偷拍| 免费无码一区二区三区| 亚洲综合一区二区国产精品| 日本成人一区二区三区| 久久一本一区二区三区| 无码人妻少妇色欲AV一区二区| 亚洲AV综合色一区二区三区| 美女啪啪一区二区三区| 国产一区二区三区不卡AV| 久久久精品人妻一区亚美研究所| 国产一区二区精品| 亚洲福利秒拍一区二区| 亚洲一区二区三区在线观看网站| 亚洲av综合av一区二区三区| 中文字幕在线不卡一区二区| 亚洲日韩一区精品射精| 成人精品一区久久久久| 一区二区三区免费精品视频| 国产午夜三级一区二区三| 精品人妻中文av一区二区三区| 亚洲一区在线免费观看| 国产精品一区二区久久沈樵| 波多野结衣一区在线观看| 国产亚洲一区二区三区在线不卡 | 国产精品一区电影|