![]() | |
| | |
| 首頁 | |
| | #1 | ||
| 會員 ![]() 註冊日期: 2001-08-20
文章: 290
![]() |
我在 apache 的 httpd.conf 裡加了這一行: Options -Indexes RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?domian.com/.*$ [NC] RewriteRule \.(gif|jpg|wmv|wma|swf|rm|rmvb|mp3|mid|exe|zip)$ - [F] 卻只能防圖片被盜連,其他的如 wmv、swf 等貼在別的網站照樣能夠播放,這是為什麼呢? 接著我便用 .htaccess 放在某個有 wmv 的目錄,但仍然無效。不知何故? 還有,httpd.conf 裡有一行 AllowOverride None 是不是要把這行的 None 改一下?但要改成什麼呢? 請各位大哥幫幫忙,不然網站的流量無法控制。感激不盡。 | ||
| | |
| | #2 | |||
| Passion ![]() 註冊日期: 2001-02-10 住址: CABLE
文章: 369
![]() | 引用:
只是一般人不會這麼做就是了 然後呢,防盜連的原理是由伺服器去檢查 HTTP_REFERER 這個變數, 除了這個變數可以偽造之外, 如果不是從瀏覽器下載 wmv 等影音檔,而是由 Media Player 直接播放, 那麼 Media Player 並不會送出這個 HTTP_REFERER 資訊, 所以就無法判斷這個檔案是不是被盜連了 除非你想要求使用者一定要先下載再播放,那麼你把 RewriteCond %{HTTP_REFERER} !^$ 這行拿掉,同時把 AllowOverride 設成 All 就可以了 另外附帶一提,未來改版後的 WebAMP 會支援防盜連功能, 只要勾選要設定防盜連的檔案格式後,就可以擁有防盜連的功能了! | |||
| | |
| | #3 | ||
| 會員 ![]() 註冊日期: 2001-08-20
文章: 290
![]() | 謝謝 nopy 的回覆,終於明白了它的原理。因為有些CGI論壇,就是可以直接用[wmv][/wmv]的語法貼出盜連的影音檔的。 還有一個問題,就是我若想用 .htaccess 檔來設定防盜連以及只允許一個網站能連接我網上的資料,又該如何寫呢?httpd.conf 的話,只要再加上一行那個網站的位址就行了,如: RewriteCond %{HTTP_REFERER} !^http://(www\.)?被允許的網站.com/.*$ [NC] 但用 .htaccess 的話,我就不知該如何寫了,因若只加了別人的網站,並不能成功,它還是不被允許顯示我網站的東西。 請幫忙看看以下這個 .htaccess 是不是有問題?是不是還要再加別的指令? SetEnvIfNoCase Referer "^http://mydomain\.com/" local_ref=1 SetEnvIfNoCase Referer "^http://www\.mydomain\.com/" local_ref=1 SetEnvIfNoCase Referer "^http://otherdomain\.com/" local_ref=1 SetEnvIfNoCase Referer "^http://www\.otherdomain\.com/" local_ref=1 <FilesMatch "\.(gif|jpg|wmv|wma|swf|rm|rmvb|mp3|mid|exe|zip)"> Order Allow,Deny Allow from env=local_ref Allow from 127.0.0.1 Allow from XXX.XXX.XXX.XXX </FilesMatch> 註:http://www.otherdomain.com 指該被允許連接資料的網站。 XXX.XXX.XXX.XXX 指該被允許連接資料的網站的IP。 | ||
| | |
| | #5 | ||
| 會員 ![]() 註冊日期: 2001-08-20
文章: 290
![]() | 以下這個文章是這裡以前的,但好像已被刪除,現我是從別處找到的: 3月30日再補充以下教學: 有人問說,如果要開放某些站台可以直接連結自己網站內的資料,該怎麼辦? 例如你想開放pczone.com.tw站上的貼圖,可以直接從自己的網站被連結使用, 那麼請在.htaccess檔案加入下面這新的3行字: (以下這樣設定代表:除了自己網站以及PCZONE網站,其他網站仍無法盜連你站內的資料) SetEnvIfNoCase Referer "^http://www\.pczone\.com\.tw/" local_ref=1 SetEnvIfNoCase Referer "^http://pczone\.com\.tw/" local_ref=1 SetEnvIfNoCase Referer "^http://自己網站的舊資料/" local_ref= <FilesMatch "\.(txt|doc|gif|jpg|mp3)"> Order Allow,Deny Allow from env=local_ref Allow from 127.0.0.1 Allow from 202.43.85.163 <-這個IP,是PCZONE網站的固定IP,一定要打進去! </FilesMatch> 請問這句: http://自己網站的舊資料/ 指的是什麼? 是自己網站的URL位址嗎?需要目錄名嗎? | ||
| | |
| | #6 | ||||
| Yanzi ![]() 註冊日期: 2001-11-22
文章: 975
![]() | 引用:
改 httpd.conf 加入以下 引用:
http://www\.yahoo\.com\.tw <-- 允許讀取的網址 (改成你的網址) | ||||
| | |
| | #7 | |||
| 會員 ![]() 註冊日期: 2001-08-20
文章: 290
![]() | 引用:
| |||
| | |
| | #9 | ||||
| 會員 ![]() 註冊日期: 2001-03-28
文章: 1,634
![]() | 引用:
可能是你的 url 設定沒設好。 引用:
至於你網站的,你可以只設定網域,也可以網域加目錄名稱都設定上去。 但是要注意,有設定目錄的話,代表檢查referer值會檢查到目錄也要相同才會通過。 假設站名是 aa.bb.cc.dd 目錄是 /xxx/zzz/ 只想比對站名: SetEnvIfNoCase Referer "^http://aa\.bb\.cc\.dd/" local_ref=1 目錄也要相同的比對: SetEnvIfNoCase Referer "^http://aa\.bb\.cc\.dd/xxx/zzz/" local_ref=1 另外, .htaccess 放的位置也會有差別,.htaccess 的作用範圍,只有放置該檔的目錄,以及其下的子目錄才會有作用。是目錄不是網址喔。 如果其它的目錄已經有另外設定過權限的話,要檢查一下權限有沒有衝突。 | ||||
| | |