我認爲有人使用iframe來竊取我的內容。我的網站是一個論壇,用戶剛剛向我彙報了他們。防止iframe被竊取
如何以編程方式(php,JavaScript,jQuery,HTML)找到他們的網站?
這是允許在互聯網上爲他們做到這一點,我可以採取行動嗎?
我認爲有人使用iframe來竊取我的內容。我的網站是一個論壇,用戶剛剛向我彙報了他們。防止iframe被竊取
如何以編程方式(php,JavaScript,jQuery,HTML)找到他們的網站?
這是允許在互聯網上爲他們做到這一點,我可以採取行動嗎?
使用JavaScript,你可以做
if(window.top==window){
//not inside iframe
} else {
if(parent.parent.someFunction){
parent.parent.someFunction();
} else {
alert("framing is not allowed")
}
}
OR
if (window.top !== window.self) window.top.location.replace(window.self.location.href);
一些現代的瀏覽器還支持X-FRAME-OPTIONS頭,可以有兩個值:
* DENY – prevents the page from being rendered if it is contained in a frame
* SAMEORIGIN – same as above, unless the page belongs to the same domain as the top-level frameset holder.
支持標題的瀏覽器:
* IE8 and IE9
* Opera 10.50
* Safari 4
* Chrome 4.1.249.1042
* Firefox with NoScript
如果你能找出它是誰,你可以告訴他們他們不能以這種方式使用你的內容。如果你擁有自己的網站,你可以決定如何使用它。
看一看framkillers:http://en.wikipedia.org/wiki/Framekiller
這是一種技術,以阻止iframe中被顯示的網站。請記住,甚至可以殺死框架式殺手。
使用,我建議在這裏同樣的方法:How to limit display of iframe from an external site to specific domains only
在堅果殼,你在每一個頁面中添加一個PHP腳本(在你的情況下,它很可能會只有一個,假設它是一個模板),這腳本將查看範圍限制爲一個(或多個)域名。
此方法比JavaScript方法更好,因爲用戶可能會禁用它。
這種方法有一個很大的缺點 - 一些firwalls阻止瀏覽器發送Referer頭。在這種情況下,用戶將無法訪問該頁面。 – Rafael 2011-04-02 09:57:15
這是一個很好的評論,在這種情況下,我會爲所有「禁止」域名發佈消息,甚至包括那些誤報,與網站的聯繫人聯繫,以便用戶可以聯繫並請求將其添加爲安全域。 OP可以通過服務器日誌檢查哪些是竊取,並排除那些,即使他們通過聯繫人請求。我仍然比JavaScript方法更喜歡這種方法。 – jackJoe 2011-04-02 11:26:26
每個人都已啓用JavaScript。如果您沒有啓用JavaScript,您必須生活在古老的世界。幾乎網上的每個站點都以某種方式使用javaScript。禁用JavaScript意味着將自己從網絡上斷開。 – Pinkie 2011-04-02 18:55:06
你可以使用這個JS代碼在您的網站的頂部(標題頁)
if (window.top !== window.self) window.top.location.replace(window.self.location.href);
所以基本上,如果他們承諾,我不能阻止他們編程。謝謝。我確定我的網站是如何使用的,因爲我允許它被公衆使用,那麼我是否仍然可以追蹤竊取者? – David19801 2011-04-02 08:54:59
當然。這是你自己的財產,所以你可以口述這些條款。問題在執行。取決於涉及哪個國家,這可能有點困難。但您可以隨時直接向ISP發送通知。想不通我的頭頂上的任何東西來獲取通過代碼列表。我在ky手機上,所以現在無法搜索:) – JohnP 2011-04-02 09:37:26
另外,您也可以查看jackjoe的解決方案。將根據您的設置工作。像pst提到的那樣,他們可能會很好,所以先問問吧! – JohnP 2011-04-02 09:43:16