91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Apache實(shí)現(xiàn)圖片防盜鏈

admin
2012年4月3日 23:41 本文熱度 3105
Apache實(shí)現(xiàn)圖片防盜鏈以及,顯示一張“禁止盜鏈”的圖片,我們可以用mod_rewrite 來實(shí)現(xiàn)。
假設(shè)充許連結(jié)圖片的主機(jī)域名為:www.php100.com
修改httpd.conf
SetEnvIfNoCase Referer "^" local_ref=1
<FilesMatch ".(gif|jpg)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
這個(gè)簡單的應(yīng)用不光可以解決圖片盜鏈的問題,稍加修改還可以防止任意文件盜鏈下載的問題。
使用以上的方法當(dāng)從非指定的主機(jī)連結(jié)圖片時(shí),圖片將無法顯示。
如果希望顯示一張“禁止盜鏈”的圖片,我們可以用mod_rewrite 來實(shí)現(xiàn)。
首先在安裝 apache 時(shí)要加上 --enable-rewrite 參數(shù)加載 mod_rewrite 模組。
假設(shè)“禁止盜鏈”的圖片為abc.gif,我們在 httpd.conf 中可以這樣配置:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?demo.com.cn /.*$ [NC]
RewriteRule \.(gif|jpg)$ abc.gif [R,L]
DocumentRoot "/usr/local/apache/htdocs"
#設(shè)置存放站點(diǎn)html文件的目錄。
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#設(shè)置/目錄的指令。具體地說明:
Option:定義在目錄內(nèi)所能執(zhí)行的操作。
None:表示只能瀏覽,
FollowSymLinks:允許頁面連接到別處,
ExecCGI:允許執(zhí)行CGI,
MultiViews:允許看動(dòng)畫或是聽音樂之類的操作,
Indexes:允許服務(wù)器返回目錄的格式化列表,
Includes:允許使用SSI。這些設(shè)置可以復(fù)選。
All:則可以做任何事,但不包括MultiViews。
AllowOverride:加None參數(shù)表示任何人都可以瀏覽該目錄下的文件。
另外的參數(shù)有:FileInfo、AuthConfig、Limit。

該文章在 2012/4/3 23:41:26 編輯過

全部評論2

admin
2012年4月4日 0:1

利用Apache實(shí)現(xiàn)禁止圖片盜鏈

1、假設(shè)充許連結(jié)圖片的主機(jī)域名為:www.naojinjizhuanwan.com  2、修改httpd.conf
SetEnvIfNoCase Referer "^http://www.naojinjizhuanwan.com/" local_ref=1
<FilesMatch ".(gif│jpg)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

  這個(gè)簡單的應(yīng)用不光可以解決圖片盜鏈的問題,稍加修改還可以防止任意文件盜鏈下載的問題。
  使用以上的方法當(dāng)從非指定的主機(jī)連結(jié)圖片時(shí),圖片將無法顯示,如果希望顯示一張“禁止盜鏈”的圖片,我們可以用mod_rewrite 來實(shí)現(xiàn)。
  首先在安裝 apache 時(shí)要加上 --enable-rewrite 參數(shù)加載 mod_rewrite 模組。
  假設(shè)“禁止盜鏈”的圖片為abc.gif,我們在 httpd.conf 中可以這樣配置:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?phpnet.cn /.*$ [NC]
RewriteRule .(gif│jpg)$ http://[url=http://www.naojinjizhuanwan.com/]www.naojinjizhuanwan.com/abc.gif[/url] [R,L]


該評論在 2012/4/4 0:02:43 編輯過
admin
2012年4月4日 0:5

網(wǎng)站圖像防盜----Apache配置妙法

需要解決的問題

簡單的說,這里有兩種不同的盜用行為:
1. 使用HTML標(biāo)記IMG在自己的網(wǎng)站中引用網(wǎng)站的圖片。
2. 從網(wǎng)站上下載圖片,然后放在自己的網(wǎng)站上。

對于第一種的盜用行為,合法網(wǎng)站的圖片被用來美化裝飾其它網(wǎng)站,這種盜用對合法網(wǎng)站的損害比較大,因?yàn)樵L問非法網(wǎng)站的訪問者其實(shí)是從合法網(wǎng)站獲取圖片的,合法網(wǎng)站的日志文件充滿了訪問請求記錄,并且?guī)挶环欠ㄔL問消耗,而合法網(wǎng)站卻沒有得到任何好處。這種類型的盜用通過技術(shù)手段完全可以被防止。

第二種類型的盜用相對來說比較陰險(xiǎn),瀏覽者在非法網(wǎng)站直接訪問非法的圖片,而合法網(wǎng)站的版權(quán)受到侵害,卻得不到賠償,甚至無法發(fā)現(xiàn)這種盜用。因?yàn)閃eb的工作方式對這種類型的盜用實(shí)際上無法被阻止,但是可以使得這種盜用更加困難。

完全杜絕這兩種盜用行為是不現(xiàn)實(shí)的,但是通過技術(shù)手段可以使得這種盜用非常困難。在Apache環(huán)境下,通過配置可以限制網(wǎng)站圖片被盜用。

解決方法

如下配置可以存放在服務(wù)器配置文件httpd.conf中,或者存放在.htaccess文件中(開啟AllowOverride All),最后的效果是一樣的:在這些命令作用的范圍內(nèi),只有從本網(wǎng)站引用的圖片才可以被訪問。

SetEnvIfNoCase Referer "^http://my.apache.org/" local_ref=1
SetEnvIf Request_URI "(.)*logo" local_ref=0
<FilesMatch ".(gif│jpg│png│jpeg)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

解釋:

標(biāo)識需要保護(hù)的文件

<FilesMatch ".(gif│jpg│png│jpeg)">
</FilesMatch>

作為網(wǎng)站管理員,最大的希望就是能夠保護(hù)網(wǎng)站上所有文檔,但是從技術(shù)角度考慮這種想法是不現(xiàn)實(shí)的,因此我們這里只討論對圖片文件的保護(hù)。作為保護(hù)的第一步,首先需要標(biāo)識出需要保護(hù)的文件,然后才能進(jìn)一步對被標(biāo)識的文件進(jìn)行保護(hù)。

Referer HTTP頭字段

當(dāng)用戶訪問Web服務(wù)器請求一個(gè)頁面時(shí),用戶瀏覽器發(fā)送的HTTP請求中會(huì)有一個(gè)被稱為HTTP請求頭(HTTP Request Header)的信息,這個(gè)頭信息中包含客戶請求的一些信息,例如發(fā)出請求客戶主機(jī)的瀏覽器版本、用戶語言、用戶操作系統(tǒng)平臺、用戶請求的文檔名等,這些信息以變量名/變量值的方式被傳輸。

在這些信息中,Referer字段對于實(shí)現(xiàn)防止圖片盜用非常重要。Referer字段指定客戶端最后一個(gè)頁面的URL地址。例如,如果用戶訪問頁面A,然后點(diǎn)擊在頁面A上到頁面B的鏈接,訪問頁面B的HTTP請求會(huì)包括一個(gè)Referer字段,該字段會(huì)包括這樣的信息“這個(gè)請求是來自于頁面A”。如果一個(gè)請求不是來自于某個(gè)頁面,而是用戶通過直接在瀏覽器地址欄輸入頁面A的URL地址的方式來訪問頁面A,那么在HTTP請求中則不會(huì)包括Referer字段。這樣對于我們防止盜鏈有什么幫助呢?Referer字段是幫助判斷對圖像的請求是來自自己的頁面,還是來自其它網(wǎng)站。

使用SetEnvIf對圖像進(jìn)行標(biāo)記

SetEnvIfNoCase Referer "^http://my.apache.org/" local_ref=1

作為一個(gè)簡單的例子,假設(shè)需要保護(hù)的網(wǎng)站的主頁面為http://my.apache.org,這時(shí)候希望限制所有不是源于本網(wǎng)站的網(wǎng)絡(luò)訪問請求(例如只允許訪問包含在本網(wǎng)站頁面內(nèi)的圖片)。

當(dāng)Apache處理一個(gè)請求時(shí),它會(huì)檢查HTTP請求頭中的Referer字段,如果該請求來源于本網(wǎng)站(也就是請求頁面的URL為本網(wǎng)站域名),則設(shè)置環(huán)境變量local_ref為1。

在雙引號中的字符串是一個(gè)正則表達(dá)式,只有匹配該正則表達(dá)式,環(huán)境變量才會(huì)被設(shè)置。本文不討論如何使用正則表達(dá)式,這里只需要理解SetEnvIf*命令會(huì)使用正則表達(dá)式作為參數(shù)。

SetEnvIfNoCase命令的“NoCase”部分表示這里的正則表達(dá)式忽略大小寫,'http://my.apache.org/'、'http://My.Apache.Org/'或 'http://MY.APACHE.ORG/'都可以匹配條件。

允許其它網(wǎng)站的友情連接引用本站logo

SetEnvIf Request_URI "(.)*logo" local_ref=0

表示不在SetEnvIfNoCase Referer "^http://my.apache.org/" local_ref=1范圍內(nèi),但可以被放行的特例,本例表示url中包含logo字樣即可訪問。

在訪問控制中使用環(huán)境變量

Order Allow,Deny
Allow from env=local_ref

Apache配置文件中的Order、Allow和Deny命令可以實(shí)現(xiàn)對文檔的基于環(huán)境變量的訪問控制,使用Order、Allow和Deny命令首先要考慮的是Allow和Deny命令的順序?qū)τ贏pache處理結(jié)果的影響,應(yīng)該以下面的方式使用:
Order Allow,Deny
這里表示Apache首先處理該HTTP請求相關(guān)的Allow命令,然后處理相關(guān)的Deny命令。這種處理方式的默認(rèn)策略是Deny,所以除非有明確的允許的設(shè)置,否則該請求就會(huì)被拒絕,任何非法訪問將無法成功。

Allow from env=local_ref

這樣只有在local_ref變量被定義的情況下,該請求才會(huì)被允許;否則其它所有請求和訪問將會(huì)被拒絕,因?yàn)檫@些請求不滿足Allow條件。
注意,請不要在.htaccess和httpd.conf中使用容器命令,這里不需要該容器命令,除非有特殊的需求,例如希望Get請求和Post請求進(jìn)行不同的處理。

對圖片進(jìn)行水印處理

上面介紹的方法并不能完全防止圖像盜鏈,這是因?yàn)橛行﹫?zhí)著的盜用者可以偽造Referer值來盜用圖片,使相關(guān)設(shè)置失效,所以不可能完全防止網(wǎng)站圖片被盜鏈,但是上面采取的措施會(huì)使得盜鏈變得很困難。

此外,還有一個(gè)防止圖片被盜用的方法,就是對網(wǎng)站的圖片都進(jìn)行水印處理。對一個(gè)數(shù)字圖片進(jìn)行水印處理是指在圖片中加入一個(gè)特殊的簽名編碼,并且可以進(jìn)行驗(yàn)證和檢測,數(shù)字水印并不會(huì)降低圖片的質(zhì)量,甚至可以實(shí)現(xiàn)圖像被切割以后的剩余部分仍然會(huì)包括水印信息。圖片被再次編輯、打印,并再次掃描以后,水印仍然可以被檢測到。因此,水印技術(shù)是一個(gè)非常好的保護(hù)圖片不被盜用的技術(shù)。

記錄盜用請求

SetEnvIfNoCase Referer "!^http://my.apache.org/" not_local_ref=1
SetEnvIfNoCase Request_URI ".(gif│jpg)" is_image=1
RewriteEngine On
RewriteCond ${ENV:not_local_ref} =1
RewriteCond ${ENV:is_image} =1
RewriteRule .* - [Last,Env=poach_attempt:1]
CustomLog logs/poachers_log CLF env=poach_attempt

在httpd.conf文件中添加如上命令,會(huì)在 apache安裝路徑/logs/poachers_log文件中記錄所有具有非法的Referer頭信息的訪問請求

在上面代碼中,頭兩行為條件設(shè)置標(biāo)記(也就是沒有正確的本地Referer的圖片文件),RewriteCond檢測是否該標(biāo)記被設(shè)置,然后RewriteRule設(shè)置第三個(gè)標(biāo)記,最后一行使得這樣的訪問請求被記錄在特定的文件中。


該評論在 2012/4/4 0:06:55 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 日韩视频第1 | 99爱这里只有精品 | 国产不卡福利片在 | 精品免费播放视频 | 国产真实乱子伦精品 | 日本高清无卡码 | 国产二区色综合 | 国语一区二区 | 国产做a∨在线视频 | 精品成人九九九 | 国产在线无吗 | 国产亚洲精品成 | 乱妇在线观看 | 91精品啪在线 | 国产午夜免费网站 | 91国产精品| 精品在线播放 | 国产激情一区 | 福利导航小视频在线 | 日韩在线欧美精品 | 国产在线精 | 日韩一区二线视频 | 韩国a级特黄特 | 国语自产偷拍 | 企业档案 | 青青久在线视频 | 国产精国产精品 | 国内综合精品午 | 三级亚洲精品 | 国产丝袜美女一区 | 午夜三级在线观看 | 国产手机在线小视频 | 国产亚洲无 | 欧洲免费在线视 | 3d动漫精品 | 国产一区免费观 | 国产21页| 日韩AV每日在线 | 91大神无删减| 乱伦高清综合免 | 国产精品视频色拍拍 |