我需要防止訪問者打開頁面外的iframe我如何防止訪問者打開頁面外的iframe
例如
當瀏覽器寫:
www.sss.com/index.php
將開放
但寫時
www.sss.com/add_news.php
我需要重定向到主頁只使用
我需要防止訪問者打開頁面外的iframe我如何防止訪問者打開頁面外的iframe
例如
當瀏覽器寫:
www.sss.com/index.php
將開放
但寫時
www.sss.com/add_news.php
我需要重定向到主頁只使用
做到這一點。由於一個iframe使一個GET請求沒有任何真正的辦法區分一個GET請求來自瀏覽器本身,來自嵌入在頁面中的iframe。在這兩種情況下,瀏覽器都會發出相同的GET請求。您可以在「iframe」頁面中編寫一些JavaScript代碼,檢測是否在頂部窗口中加載了該代碼,如果不是,則會重定向。
從接受的答案上How to identify if a webpage is being loaded inside an iframe or directly into the browser window?
使用窗口屬性top
和self
<script type="text/javascript">
if (top === self) {
location = '/index.php';
}
</script>
PHP的,你可以用頭
<?php
header('Location: www.sss.com/index.php') ;
?>
他只希望在頁面未加載到iframe中時進行重定向。這會每次重定向它。 – tvanfosson
我建議你產生一些象徵性的如。 「982h2jruhndjf92」,將其存儲在服務器或cookie中,然後將其作爲GET參數添加到框架腳本中。
<iframe src="www.sss.com/add_news.php?token=982h2jruhndjf92" />
如果URL提供同樣您顯示右視圖,使用header()函數,否則重定向用戶。
所有這些都需要用戶檢查頁面並輸入帶有附加標記的URL。 – tvanfosson
但我打開此框架上的其他網頁通過使用目標 –
我認爲沒有辦法來防止這種情況。客戶端的所有東西都可以被檢查和操作 - DOM和腳本。可能最簡單的方法是檢查top === self,但檢查並複製iframe src屬性,然後將其粘貼到瀏覽器地址欄是非常簡單的方法。我認爲最強大的安全性會在請求首頁時在會話中存儲一些標誌(例如10秒),然後當客戶端請求幀頁面並且會話中存在標誌時,您可以發送響應,否則重定向。所有的邏輯應該在服務器上以保證安全 – Pio
通過JavaScript或什麼? –
是的。您將在加載到iframe中的頁面中包含JavaScript代碼片段。 – tvanfosson
怎麼樣?你能解釋一下嗎 –