●獅吼文集 楔子? 佛法入門? 三藏經典? 修持正見 法義討論 實修儀軌? 名相淺釋? 佛教X檔案? 學佛心得? 佛教人物? ●其它 暫存區? 工作討論? 編輯選單 |
PmWiki 有一個
upload.php 的檔案提供從瀏覽器上傳檔案的功能,在 PmWiki 中可以很簡單地利用上傳語法,本頁是說明如何打開 PmWiki 預設安裝時未開啟的上傳功能。注意安全1. 顯而易見,讓任何人都能夠上傳檔案是有相當的危險性,upload.php 檔案已經預防了一些危險,但是 WikiAdministrators (英文)應該明瞭開放上傳功能潛在的危險性,如果不善加設定上傳功能很容易造成對伺服器的危害。2. 預設的設定中,允許具備上傳權限的用戶得以覆蓋網站中的檔案(無法回復),如果不希望上傳檔案會被覆蓋,可以在 config.php 中設定: $EnableUploadOverwrite = 0; 基礎安裝如果 config.php 中設定上傳功能的變數 $EnableUpload 設定為 1,則 upload.php 檔案就會被 stdconfig.php 自動啟動。在 config.php 中也能設定 $UploadDir 與 $UploadUrlFmt 這兩個變數來分別指定上傳目錄(儲存由瀏覽器上傳的檔案),以及讀取上傳目錄所用的網址;$UploadDir 預設的目錄是 uploads(與網站的 pmwiki.php 在同一目錄中)。 為了安全緣故,config.php 中也應該設定預設的上傳密碼(參見 PasswordsAdmin ). 一個開放上傳功能的 PmWiki,它的 config.php 中應該有下列設定: <?php $EnableUpload = 1; $UploadDir = "/home/john/public_html/uploads"; $UploadUrlFmt = "http://www.john.com/~john/uploads"; $DefaultPasswords['upload'] = crypt('mysecret'); ## more configuration entries here... ?>$UploadDir 應該要具有可寫入的權限(執行web server程序的用戶); WikiAdministrator 可以手動建立上傳目錄,不過當上傳功能被啟動時,PmWiki 會試著自己去建立需要的目錄;如果使用者希望 PmWiki 能自動產生必要的目錄,使用者必須依循下列程序來做: #改變 PmWiki 的根目錄權限為 2777(例:chmod 2777 /home/john/public_html) #執行已經開啟上傳功能的 PmWiki(用瀏覽器連結到 pmwiki.php) #確認上傳目錄已經被自動建立(在終端機中執行 ls /home/john/public_html) #再將 PmWiki 根目錄的權限改回來 (例:chmod 755 /home/john/public_html)。 使用上傳功能只要在頁面中一般的網址最後加入 "?action=upload",使用者就會被要求輸入 upload 的密碼(參考 Passwords 和 PasswordsAdmin 的資訊來設定各層級的密碼權限)。上傳檔案的另一種方法是在頁面中需要引用檔案(例如一張圖片)的位置輸入 " Attach:檔案名稱.副檔名 " (儲存頁面後," Attach:檔案名稱.副檔名 " 後面會出現一個 ? 問號,按下它會導引到進行上傳檔案的頁面)PmWiki 預設會替各群組分別出不同的次目錄來儲存上傳的檔案,如果想要更改此一設定,請修改 $UploadPrefixFmt 變數值。 如何限制上傳檔案filenames - 檔案名稱僅能包含英文字、數字、底線、連字號和句點,開始與結束也僅能是文字或數字;變數$UploadNamePattern 是用來管理此一功能的。file extension - 只有某些特定附檔名 ".gif"、".jpg"、".doc"等等的檔案才被接受;這是安全性的考量,避免被傳入 .php 或 .cgi 之類的可執行檔。 file size - 預設僅接受不超過 50K bytes 的檔案, $UploadMaxSize 變數可以更改這個限制,例如改為100K,只要這樣更改: $UploadMaxSize = 100000;事實上,管理者可以針對不同的檔案類型分別設定最大值限制,例如限制 ".gif" 和 ".jpeg" 檔案最大為 20K, ".doc" 檔案可到 200K, 然後其他檔案則遵守 $UploadMaxSize 的預設值。 $UploadExtSize 陣列可用附檔名來指定最大值,例如這樣設定: $UploadExtSize['gif'] = 20000; # 限制 .gif 檔案最大值為 20K設定最大值為 0 也就等同於限制此種檔案的上傳: $UploadExtSize['zip'] = 0; # 不允許 .zip 壓縮檔上傳也可以更方便的這樣設定: $UploadExts = array('gif','jpeg','jpg','png','ppt'); $UploadMaxSize = 20000; $UploadExtSize['ppt'] = 150000; $UploadExtSize['doc'] = 150000;僅允許 GIF、JPEG、PNG 檔案最大為 20K,PowerPoint 和 Word 檔可到 150K,其他檔案都不允許。 與上傳檔案限制有關的其他設置
|