有時候我們開發(fā)的網(wǎng)站可能會被別人利用嵌入到其他網(wǎng)站中,也就是別人鏡像我們的網(wǎng)站,造成點(diǎn)擊劫持風(fēng)險。
目前收集到的有以下前后端2種維度來防止網(wǎng)頁被iframe嵌套的辦法:
一、前端
針對傳統(tǒng)的Clickjacking,一般是通過禁止跨域的iframe來防范。framebusting通??梢詫懸欢未a,以禁止iframe的嵌套。因?yàn)閒rame busting存在被繞過的可能,更好的方案是采用X-FRAME-OPTIONS,X-FRAME-OPTIONS是微軟提出的一個http頭,專門用來防御利用iframe嵌套的點(diǎn)擊劫持攻擊,并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。
X-Frame-Options HTTP響應(yīng)頭是用來確認(rèn)是否瀏覽器可以在frame或iframe標(biāo)簽中渲染一個頁面,網(wǎng)站可以用這個頭來保證他們的內(nèi)容不會被嵌入到其它網(wǎng)站中,以來避免點(diǎn)擊劫持。
<meta http-equiv="X-FRAME-OPTIONS" content="DENY">
TIP:在實(shí)際項(xiàng)目中使用了,但不起作用,還是推薦通過后端Nginx配置來禁止iframe嵌套?
在PHP中,則可以在文件中添加以下代碼:
<?php header(‘X-Frame-Options:Deny'); ?>
DENY:表示該頁面不允許在 frame 中展示,即便是在相同域名的頁面中嵌套也不允許。
SAMEORIGIN:表示該頁面可以在相同域名頁面的 frame 中展示。
ALLOW-FROM uri:表示該頁面可以在指定來源的 frame 中展示。
二、服務(wù)器端?
1、nginx
在配置文件的 http 、server 或者 location 中加入如下代碼,來防止被嵌套。
add_header X-Frame-Options "SAMEORIGIN";
2、Apache
在 Apache 的配置文件的 site 中添加如下配置
Header always append X-Frame-Options SAMEORIGIN
3、htaccess
將如下代碼加入網(wǎng)站根目錄的 .htaccess 文件中,效果相同。文章來源:http://www.zghlxwxcb.cn/news/detail-784513.html
Header?append?X-FRAME-OPTIONS?"SAMEORIGIN"
4、IIS
將網(wǎng)站根目錄的web.config配置文件做如下修改,來禁止網(wǎng)站被嵌套。文章來源地址http://www.zghlxwxcb.cn/news/detail-784513.html
<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
...
</system.webServer>
到了這里,關(guān)于禁止網(wǎng)站被iframe嵌套的解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!