麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > IIS > 正文

iis、apache、nginx使用X-Frame-Options防止網頁被Frame的解決方法

2024-08-29 03:16:36
字體:
來源:轉載
供稿:網友

當然也是因為被360檢測到了示"X-Frame-Options頭未設置",根據360的提示與百度了一些網上的一些資料整理了下,完美解決問題。

首先看下360給出的方案,但么有針對服務器的具體設置,不是每個人對服務器都很懂啊。

描述: 目標服務器沒有返回一個X-Frame-Options頭。

X-Frame-Options HTTP響應頭是用來確認是否瀏覽器可以在frame或iframe標簽中渲染一個頁面,網站可以用這個頭來保證他們的內容不會被嵌入到其它網站中,以來避免點擊劫持。

危害: 攻擊者可以使用一個透明的、不可見的iframe,覆蓋在目標網頁上,然后誘使用戶在該網頁上進行操作,此時用戶將在不知情的情況下點擊透明的iframe頁面。通過調整iframe頁面的位置,可以誘使用戶恰好點擊iframe頁面的一些功能性按鈕上,導致被劫持。

解決方案:

修改web服務器配置,添加X-frame-options響應頭。賦值有如下三種:

(1)DENY:不能被嵌入到任何iframe或frame中。
(2)SAMEORIGIN:頁面只能被本站頁面嵌入到iframe或者frame中。
(3)ALLOW-FROM uri:只能被嵌入到指定域名的框架中。

也可在代碼中加入,在PHP中加入:

header('X-Frame-Options: deny');

 

下面繼續來看下VEVB武林網從網上整理的更詳細的方法

防止網頁被Frame,方法有很多種;

方法一: 常見的比如使用js,判斷頂層窗口跳轉:

(function () {if (window != window.top) {window.top.location.replace(window.location); //或者干別的事情}})();

一般這樣夠用了,但是有一次發現失效了,看了一下人家網站就是頂層窗口中的代碼,發現這段代碼:

var location = document.location;// 或者 var location = "";

輕輕松松被破解了,悲劇。

方法二: meta 標簽:基本沒什么效果,所以也放棄了:

<meta http-equiv="Windows-Target" contect="_top">

方法三:使用HTTP 響應頭信息中的 X-Frame-Options屬性

使用 X-Frame-Options 有三個可選的值:

DENY:瀏覽器拒絕當前頁面加載任何Frame頁面
SAMEORIGIN:frame頁面的地址只能為同源域名下的頁面
ALLOW-FROM:origin為允許frame加載的頁面地址

絕大部分瀏覽器支持:

 

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 4.1.249.1042 3.6.9(1.9.2.9) 8.0 10.5 4.0

 

配置 IIS

IIS6中通過HTTP頭設置即可

X-Frame-Options,iis,apache,nginx

IIS7中可以通過web.config也可以通過類似上面的設置

配置 IIS 發送 X-Frame-Options 響應頭,添加下面的配置到 Web.config 文件中:

<system.webServer> ... <httpProtocol>  <customHeaders>   <add name="X-Frame-Options" value="SAMEORIGIN" />  </customHeaders> </httpProtocol> ...</system.webServer>

圖文界面設置

X-Frame-Options,iis,apache,nginx

配置 Apache
配置 Apache 在所有頁面上發送 X-Frame-Options 響應頭,需要把下面這行添加到 ‘site' 的配置中:

Header always append X-Frame-Options SAMEORIGIN

配置 nginx
配置 nginx 發送 X-Frame-Options 響應頭,把下面這行添加到 ‘http', ‘server' 或者 ‘location' 的配置中:

add_header X-Frame-Options SAMEORIGIN;

HAProxy配置

rspadd X-Frame-Options:/ SAMEORIGIN

tomcat 與X-Frame-Options

公司項目是只用了tomcat作為web服務器 ,網上搜的的內容好像并不符合我的要求。
本來的想法是在每個jsp頁面中加

<% response.addHeader("x-frame-options","SAMEORIGIN"); %>

可后來想想這種方法太蠢,萬一過不了測試還要改過來。

于是又想到了一個方法,在項目原本的過濾器中加了如下代碼

HttpServletResponse response = (HttpServletResponse) sResponse;response.addHeader("x-frame-options","SAMEORIGIN"); 

貌似起了作用  等待客戶測試吧!

具體可以查看:

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options?redirectlocale=en-US&redirectslug=The_X-FRAME-OPTIONS_response_header

結果

在 Firefox 嘗試加載 frame 的內容時,如果 X-Frame-Options 響應頭設置為禁止訪問了,那么 Firefox 會用 about:blank 展現到 frame 中。也許從某種方面來講的話,展示為錯誤消息會更好一點。

用虛擬主機的用戶怎么辦呢

PHP和JSP等動態文件更方便
改一下頭信息
PHP代碼:

 header(‘X-Frame-Options:SAMEORIGIN');

JSP代碼:

response.setHeader(“X-Frame-Options”,”SAMEORIGIN”);

ASP代碼:

<%Response.AddHeader "X-Frame-Options","SAMEORIGIN"%>

ASP.NET代碼:

Response.AddHeader("X-Frame-Options", "Deny");

還是那句話如果確認你整個網站都不能被框架,可以直接設置web服務器,增加X-Frame-Options響應頭。IIS如下圖所示,增加http頭,參考上面的iis6與iis7中的設置方法

X-Frame-Options,iis,apache,nginx

瀏覽器對X-Frame-Options響應頭的支持如下

 

瀏覽器 版本支持
IE 8.0+
Firefox 3.6.9+
Opera 10.50+
Safari 4.0+
Chrome 4.1.249.1024+

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: chinesexxxx刘婷hd| 国产精品久久久久久久四虎电影 | 精品国产一二区 | 羞羞草视频 | 欧美日韩手机在线观看 | 免费在线观看国产精品 | 欧美大片一级毛片 | 久久精品艹 | 久久国产成人午夜av浪潮 | 国产精品久久久毛片 | 韩国美女一区 | 久综合 | 欧美人禽| 中文有码一区二区 | 精品久久一区二区 | 高清国产福利 | 久草手机视频在线观看 | 色综合久久久久久久粉嫩 | gril hd| 日韩视频在线观看免费视频 | 中文字幕欧美视频 | 56av国产精品久久久久久久 | 久久国产夫妻视频 | 艹男人的日日夜夜 | 99精彩视频在线观看 | 成人免费福利 | 99在线免费观看视频 | 国产女同玩人妖 | 国产精品野外av久久久 | 悠悠成人资源亚洲一区二区 | 一区二区三区欧美日韩 | 在线高清中文字幕 | 伊人午夜| 久久精品观看 | 国产一区二区三区四区五区加勒比 | 色视频一区二区 | 国产精品片一区二区三区 | 国产成人精品日本亚洲语音 | 久久综合综合 | 免费观看黄视频 | 久久久久久久久久91 |