我試圖在另一個站點嘗試iframe我的網站時顯示錯誤消息。我使用的.htaccess:在框中顯示消息.htaccess
Header set X-Frame-Options DENY
然而,這僅僅是創建一個空白頁,而iframe中。是否可以顯示錯誤消息,而不是隻是一個空白的屏幕?
更新
我不尋找任何JavaScript解決方案
我試圖在另一個站點嘗試iframe我的網站時顯示錯誤消息。我使用的.htaccess:在框中顯示消息.htaccess
Header set X-Frame-Options DENY
然而,這僅僅是創建一個空白頁,而iframe中。是否可以顯示錯誤消息,而不是隻是一個空白的屏幕?
更新
我不尋找任何JavaScript解決方案
您可以在消息中顯示自定義錯誤頁面。
ErrorDocument 403 /access.html
瞭解更多詳情:1。 http://www.hostingmanual.net/fun-with-htaccess-tutorial-examples/
HTML
<!DOCTYPE html>
<html lang=en>
<head>
<title>Blocking iFrame with JS</title>
</head>
<body>
<p>page content</p>
<script src='iframe/blocker.js'></script>
</body>
</html>
JS
if (window.top !== window.self) window.top.location.replace(window.self.location.href);
注:這JS代碼重定向到父頁面(iframe的位置坐) - 當然,你也可以使用covener的解決方案,他的解決你的問題很有意思:)
爲什麼它是壞的,如果你的頁面是在源頁面上「的iframe」要求
更多信息:啓用JavaScript
缺點:我不會推薦,因爲攻擊者擁有所有你做同樣的工具,他們可以使用沙箱,以防止你運行的JavaScript或重定向窗口
來源: https://www.tinfoilsecurity.com/blog/protect-your-website-from-embedded-content-iframe-security
您可以使用mod_rewrite或<if>
來檢查引用鏈接(它是iframe中的封閉頁面)並將站點的整個部分重定向到靜態文件。
這裏有許多可能的首發食譜對證接受引薦域的列表中的一個:!
RewriteEngine敘述ON 的RewriteCond%{REQUEST_URI} iframe_err.html 的RewriteCond%{HTTP_REFERER} ^($ | HTTP [ s]://(www。)?mydomain.com) RewriteRule。* /iframe_err.html
iframes由瀏覽器處理。
客戶端決定是否顯示iframe的內容以及是否兌現SAMEORIGIN選項。
即使使用.htaccess,服務器也不知道整個頁面的頁面請求之間的差異,例如某人直接訪問頁面或從iframe訪問頁面。
你可以做的是檢查HTTP_REFERER。檢查這個樣本我還沒有測試過,但想法是阻止頁面從您自己的網站以外的任何地方訪問。
RewriteEngine On
RewriteCond %{QUERY_STRING} !^id=[^&]+ [NC]
RewriteCond %{HTTP_REFERER} !^http://your-website.com
# then redirect to a different page
RewriteRule !^start start [L,NC,R=302]
但正如我前面提到的HTTP_REFERER它不是100%可靠的解決方案,可以被欺騙。但是,互聯網上的任何事情都不是100%可靠的。
如果你不找JavaScript的解決方案你或許應該刪除javascript標籤。 –
@ SeanWessell-好點,我忘了我有! – Zackh105
你應該看看SO使用的大片。嘗試從SO構建一個頁面,看看會發生什麼 – 2016-12-23 12:55:26