:::

幫MediaWiki設定防止外連

image

MediaWiki提供了權限設定的功能,但卻不能擋住上傳檔案的下載。由於有些文件我不希望別人直接從連結就下載,最好請他們從MediaWiki首頁開始點進去才能觀看,所以我需要一個控管這方面權限的功能。

MediaWiki預設是將檔案上傳到安裝目錄的/images資料夾當中,因此我只要設定Apache,如果要存取/images資料夾下的檔案時,必須要從MediaWiki的首頁過來,這樣就可以解決外連問題了。

請在Apache的httpd.conf設定檔裡面加入以下設定:

#以下是允許連結的網站
SetEnvIf Referer "^http://xxx\.xxx\.xx\.xxx/mediawiki/" local_ref
SetEnvIf Referer "^http://localhost/mediawiki/" local_ref
SetEnvIf Referer "^http://127\.0\.0\.1/mediawiki/" local_ref
#禁止使用者使用wget
SetEnvIfNoCase User-Agent "^Wget" banned_useragent
<Directory "C:/AppServ/www/mediawiki/images">
    Order Deny,Allow
    Deny from all
    Allow from env=local_ref
</Directory>

以下解釋各設定:

  1. http://xxx\.xxx\.xx\.xxx/mediawiki/:你允許的網址,就是你MediaWiki的安裝位置。通常會隨著每台伺服器的設定而有所不同,該部份的設定都要調整過喔。
  2. C:/AppServ/www/mediawiki/images:MediaWiki的images資料夾在伺服器裡的實體位置,要注意Windows路徑必須要改成「/」而不是「\」

再重新啟動Apache,設定就生效了。使用者只能從MediaWiki的首頁進去才能看得到上傳的圖片,而不能直接用網址連結!

總共5 則留言 ( 我要發問 , 隱藏留言 顯示留言 )

  1. 還是不太喜歡wiki
    都沒在寫 cc...噓~

    回覆刪除
  2. wiki有創用啊
    怎麼會沒有
    wiki授權有三種形式以上
    排斥之前先了解比較好喔

    -路人Z

    回覆刪除
  3. 唔,這邊的情況是說我用MediaWiki撰寫的東西不想要讓人使用,所以要限制,不想要用創用CC授權。

    回覆刪除
  4. 而David可能是說他寫的東西不是給創用CC授權的吧

    回覆刪除