*奇想西卡*

« [apache] 防止DDOS | Main | [遊記] 高捷試乘 »

17 二月, 2008

[apache] 防止圖片 盜連 、 直連

Freebsd — 作者 segaa @ 18:10

 續前篇 , 一樣是由於相簿搬回家衍生的問題 >_ <

 某日突然發現整台機器呈現當機現象 ,

 作啥動作都掛點 , 後來才發現是相簿中兩張圖被拿去貼在 ptt 的 beauty 版 =__ =

 不過鄉民的力量實在太可怕了 , 踴躍的點擊數根本就比 DDos 來的厲害

 為了避免類似情況還是做一下照片的防直連好了  ( 盜連以前就設過了 )

 這次設定算加強版 @@

 主要是防止類似別人直接將照片的網址流傳出去

 如 幸運草 logo 的原始圖片網址是

 http://pic.segaa.net/albums/userpics/10003/site_logo4.png

 可以透過相簿或是BLOG來顯示圖片 , 但是若直接點擊那各網址則將其連線導去錯誤頁

 減少網路流量的浪費 , 這是破不得以的 ... 頻寬太小  , 以下為設定方法

 apache 防止盜連 and 直連

 在  albums/ 目錄下新增  .htacess  內容如下

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://pic.segaa.net/.*$       [NC]
RewriteCond %{HTTP_REFERER} !^http://blog.segaa.net/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://segaa.net/.*$           [NC]
RewriteCond %{HTTP_REFERER} !^http://discuz.segaa.net/.*$    [NC]
RewriteCond %{HTTP_REFERER} !^http://nhucm.segaa.net/.*$     [NC]
RewriteCond %{HTTP_REFERER} !^http://www.9w2u.com/.*$        [NC]
RewriteCond %{HTTP_REFERER} !^http://zetazanka.spaces.live.com/.*$ [NC]
RewriteRule .*.(jpg|jpeg|gif|png|bmp)$ - [F,NC]
# 上面是防直連的設定

SetEnvIfNoCase Referer "^http://www.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://pic.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://pic2.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://pic3.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://pic4.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://pic.segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://pic2.segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://pic3.segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://pic4.segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://blog.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://blog.segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://blog4.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://blog4.segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://discuz.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://discuz.segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://220.130.104.15$" locally_linked=1
SetEnvIfNoCase Referer "^http://220.130.104.15/" locally_linked=1
SetEnvIfNoCase Referer "^http://nhucm.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://nhucm.segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://www.9w2u.com$" locally_linked=1
SetEnvIfNoCase Referer "^http://www.9w2u.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://lyceum.segaa.net/" locally_linked=1
SetEnvIfNoCase Referer "^http://lyceum.segaa.net$" locally_linked=1
SetEnvIfNoCase Referer "^http://tc2jp.mojolingo.com.tw/" locally_linked=1
SetEnvIfNoCase Referer "^http://tc2jp.mojolingo.com.tw$" locally_linked=1
SetEnvIfNoCase Referer "^http://zetazanka.spaces.live.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://zetazanka.spaces.live.com/$" locally_linked=1
SetEnvIfNoCase Referer "^http://segaa.net:8001/" locally_linked=1
SetEnvIfNoCase Referer "^http://segaa.net:8001/$" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1


<FilesMatch ".(txt|doc|gif|jpg|mp3)"> 
 Order Allow,Deny
 Allow from env=locally_linked
</FilesMatch>
# 這邊是防盜連的設定

ErrorDocument 401 http://pic.segaa.net/400.shtml
ErrorDocument 402 http://pic.segaa.net/400.shtml
ErrorDocument 403 http://pic.segaa.net/400.shtml
ErrorDocument 404 http://pic.segaa.net/400.shtml
ErrorDocument 405 http://pic.segaa.net/400.shtml
#將所有錯誤都導到 400.shtml

 


« [apache] 防止DDOS | Main | [遊記] 高捷試乘 »

迴響


發表迴響






Powered by LifeType