rhel6.3如何使用yum安裝Apache rhel8配置yum源
2024-02-19
更新時(shí)間:2024-02-20 00:07:14作者:未知
現(xiàn)在做網(wǎng)站,都會遇到盜鏈的問題,包括圖片盜鏈、音樂或視頻文件(如mp3、Flash等)盜鏈.相信很多朋友都曾遇到過網(wǎng)站內(nèi)文件特別是圖片被盜鏈的情況煩。所謂盜鏈,是指對方網(wǎng)站直接鏈接您網(wǎng)站上的文件,而不是將其置于自己的服務(wù)器上,一般而言,盜鏈的對象大多為較耗帶寬的大體積文件,如圖片、視頻等,從某種意義上說,這事實(shí)上造成了讓您為其訪問流量買單:不僅您的服務(wù)器帶寬被無任何回報(bào)地占用,而且,往往會在很大程序上影響您網(wǎng)站的訪問速度。
下面我們就以圖片為例子來說明這個(gè).我們要實(shí)現(xiàn)的是不僅屏蔽/禁止非本網(wǎng)站的盜鏈訪問,還將盜鏈請求轉(zhuǎn)給自身的網(wǎng)站,讓讀者知道誰是真正的發(fā)布者(圖片源網(wǎng)站)
設(shè)置 .htaccess 禁止圖片盜鏈
RewriteEngine on
打開重寫url
RewriteCond %{REQUEST_URI} !^/allow/.*$
排除的url.這個(gè)相當(dāng)?shù)闹匾?因?yàn)楹竺娴膔eferer過濾時(shí)會過濾這些.所以打開這個(gè)可以"盜鏈",這樣才能讓用戶正確的顯示出錯(cuò)的網(wǎng)站.
RewriteCond %{REQUEST_FILENAME} /.(gif|jpeg|png|jpg)$ [NC]
以上為判斷是否為圖片文件:您也可以根據(jù)自己的需要設(shè)置更多的文件類型。也可以是exe之類
RewriteCond %{HTTP_REFERER} !^$
上面這一行意在允許空“HTTP_REFERER”的訪問,即允許用戶在瀏覽器地址欄中直接輸入圖片地址時(shí)圖片文件的顯示。建議,如果強(qiáng)迫必須具有“HTTP_REFERER”才能訪問,可能會帶來某些問題,比如直接在url地址欄中輸入地址
RewriteCond %{HTTP_REFERER} !php-oa/.org [NC]
RewriteCond %{HTTP_REFERER} !google/.com [NC]
RewriteCond %{HTTP_REFERER} !baidu/.com [NC]
設(shè)置允許訪問的HTTP來源,包括網(wǎng)站自身、Google、Baidu、等。
RewriteRule (.*) /allow/error.gif [R=301,NC,L]
將不滿足referer條件的訪問重定向至error.gif。有沒有發(fā)現(xiàn)error.gif位于允許“盜鏈”的目錄allow中,要相當(dāng)注意,不然,警告信息和圖片將無法在對方網(wǎng)站上顯示。
如上,就實(shí)現(xiàn)了我們要的功能。不僅屏蔽/禁止非本網(wǎng)站的盜鏈訪問,還將盜鏈請求轉(zhuǎn)給自身的網(wǎng)站,讓讀者知道誰是真正的發(fā)布者(圖片源網(wǎng)站)
其他類型文件的防盜鏈設(shè)定
如果您的網(wǎng)站上存在其他類似體積較大較耗費(fèi)帶寬的文件如flash、mp3被其他網(wǎng)站盜鏈,可以同樣采取上述策略,比如說,對Flash文件,可用類似如下的設(shè)置:
RewriteCond %{REQUEST_URI} ^/allow
RewriteCond %{REQUEST_FILENAME} /.swf$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !php-oa/.org [NC]
RewriteRule (.*) /allow/error.swf [R=301,NC,L]
當(dāng)然,需要事先有聲明版權(quán)信息的flash文件“error.swf”。其他如mp3文件、壓縮文件(zip或rar)盜鏈的設(shè)置和這個(gè)一樣。