2011-09-03 521 views
1

我有一個網頁,其中有一個圖像(頁面的背景圖像)。我不希望用戶通過從html源查找它的位置來直接訪問圖像。我怎麼做?圖像混淆

此外,我正在爲media = print添加一個準系統CSS。當做一個保存,我假設圖像不會被保存?

**我知道有辦法獲得圖像,如果有人是真的意圖,但我想,很難。

編輯: 我偶然發現了這個頁面 - http://www.answerjam.com/privacy-policy - 我想用他們的頁腳圖像保護我的圖像。

回答

0

如果你想避免標準訪問者直接看到你的圖像,你可以加載它的JavaScript。無論如何,我假設對於使用螢火蟲或任何開發工具的訪問者來說,你無法阻止它。

例如,要使用jQuery載入圖片:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
    $('body').css('background-image', 'url(your_image.png)'); 
}); 
</script> 
2

有保護圖像的幾種不同的方式:

  • 使用JavaScript和覆蓋右鍵快捷菜單(見this doc爲一個超級簡單的方法)。但是,用戶所要做的就是禁用Javascript來獲得它們。
  • 使用服務器端語言在標題中檢查HTTP_REFERRER之類的內容,並使用腳本來服務映像(檢查該字段)。使用服務器端語言,您還可以使用諸如使用GET參數的技巧。

說了這麼多,所有的人需要做的就是你的圖像是使用Firebug(或鉻/鉻),以檢查出的net標籤來查看下載的內容或訪問他們的瀏覽器緩存。您可以嘗試服務圖像時設置你的Cache-Controlno-cache,但據我所知,大多數瀏覽器不真正實施,爲了這個目的。

在一天結束的時候,試圖保護您的圖片,從任何人都更頭疼的不是它的價值,與任何人打交道,但你的祖母訪問您的網站與IE6的時候。要做到這一點,沒有JavaScript的工作以及

1

的一種方法(因此該網站仍然正常工作)是使用CSS來放置一個完全透明的PNG在您要保護的圖像。如果您嘗試右鍵單擊並保存,則最終會保存透明圖像。 PNG可以是一張簡單的1x1圖像,並且可以伸展以覆蓋它。

<div class="imageContainer"> 
    <img src="..." class="realImage" width="100" height="50"/> 
    <img src="/img/blank.png" class="blockImage" width="100" height="50"/> 
</div> 

CSS:

.imageContainer { 
    position: relative; 
} 
.imageContainer .blockImage { 
    position: absolute; 
    top: 0; 
    left: 0; 
} 

當然,這仍然沒有幫助在所有如果你有開發工具,但它消除右鍵單擊,而不依賴於JS或複雜的技巧訪問。沒有查看源代碼也很難避開。

您可以將其與其他示例結合使用。

這仍然是非常容易解決。我覺得需要重複幾十次。互聯網內容的基本規則:如果我能看到它,我可以複製它。 (就像「模擬」洞 - 我可以屏蔽瀏覽器。)