作者davidisgood (大衛很好)
看板PHP
標題[請益] 有關PHP上傳檔案後的權限問題
時間Sun Dec 19 03:29:29 2010
各位好
最近開始學PHP+MYSQL
目前做好一個超簡單的會員系統以及上傳檔案的功能
想請問一下我要如何做才能讓有登入的會員才能下載上傳區內的檔案呢?
假如別人知道網址直接輸入檔案的所在位置
這樣就不用經過SESSION檢查而可以直接下載檔案
有一種方法好像是用htaccess來改
但是如果我想要會員在我的登入頁面登入後就可以下載檔案而不必再透過htacess的檢查
有什麼辦法嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.243.151
※ 編輯: davidisgood 來自: 140.112.243.151 (12/19 03:30)
※ 編輯: davidisgood 來自: 140.112.243.151 (12/19 04:31)
※ 編輯: davidisgood 來自: 140.112.243.151 (12/19 04:43)
1F:→ maplecat:不知道為什麼...我覺得你的問題 有點羅生門感覺xd~ 12/19 13:23
2F:→ arrack:就不要給路徑,透過readfile把檔案內容輸出 12/19 13:51
3F:推 linhomeyeu:不透過.htaccess的話只要被猜到就還是可以載 12/19 14:01
4F:→ tkdmaf:或許……把檔案存進資料庫也是一個不錯的辦法。 12/19 16:37
5F:→ tkdmaf:這樣就不會被直接載到檔案。不過…效能的部份我沒測過。 12/19 16:37
6F:推 buganini:通常是用只能用一次的網址 除了用readfile之外 12/19 17:14
7F:→ buganini:也可以用hardlink 12/19 17:15
8F:推 cspy:用get去redirect link 12/19 21:13
9F:推 linhomeyeu:資料庫不是拿來放檔案的吧 可想見效能會很差 12/20 02:32
10F:→ linhomeyeu:長時間的輸出結果 連帶影響到其他的連線 12/20 02:32
11F:→ linhomeyeu:還有資料庫毀了檔案就消失了=口= 12/20 02:32
12F:→ tkdmaf:還是那句話:效能的好壞還是做過效能評估再說。不要用猜的 12/20 07:27
13F:→ tkdmaf:另外資料庫毀了,這就表示平常都不做備份。也是很糟榚的。 12/20 07:28
14F:→ tkdmaf:因為也沒人會保證你存在硬碟,他可以長命百歲不會掛。 12/20 07:32
15F:→ arrack:檔案內容放入資料庫是ok,因為資料庫本身也是檔案 12/20 14:46
16F:→ arrack:不過通常只要把檔案放到www dir外的目錄 就可以避免此問題 12/20 14:47
17F:→ davidisgood:感謝各位大大的回答 想請問一下所謂只能用一次的網址 12/21 01:25
18F:→ davidisgood:是表示當user要下載某個檔案時我再把那個檔案復製一次 12/21 01:25
19F:→ davidisgood:復製到那個user可以存取的位置 等他載完再刪掉嗎? 12/21 01:25
20F:→ davidisgood:arrack大大所說的把檔案放在www以外 也是以此方式嗎? 12/21 01:26
21F:→ davidisgood:如果是這種方式會不會造成系統很大負擔?每次下載都要 12/21 01:26
22F:→ davidisgood:重新copy檔案 12/21 01:26
24F:→ arrack:不是複製,是讀檔後輸出 12/21 03:18
25F:→ linhomeyeu:無論如何,在我看來,把檔案存到資料庫並不是一個 12/21 03:19
26F:→ linhomeyeu:好的做法,用途不合。 12/21 03:19
27F:推 tkdmaf:用途是你決定?還是你的客戶來決定? 12/21 08:19
28F:→ tkdmaf:功能的好壞不是「想」應當如何。而是「做」了才知道。 12/21 08:20
29F:→ tkdmaf:就像很多人會說「我覺得」「效能」不好。那效能測試呢? 12/21 08:21
30F:→ tkdmaf:很多人說「我覺得」「程式」這樣寫沒問題。那單元測試呢? 12/21 08:22
31F:推 linhomeyeu:客戶需要的是完成品,實作方法由程式設計師決定。 12/22 01:50
32F:→ linhomeyeu:你那麼對效能測試感興趣,自己做效能測試如何? 12/22 01:51
33F:→ linhomeyeu:我做的測試你也未必會滿意:) 12/22 01:52
34F:→ tkdmaf:客戶需要的是:我叫你做什麼你就做。不然我叫別人做。 12/22 10:28
35F:→ tkdmaf:如果我沒有經常做效能測試。我何必提出來? 12/22 10:28
36F:→ tkdmaf:你要是做出測試並且PO出來。那就是實證。誰會不滿意? 12/22 10:29
37F:→ tkdmaf:但不要還沒發表測試結果,就先斷定效能不佳。 12/22 10:29
38F:→ tkdmaf:凡事都不要用猜的,我之前就是愛猜所以常常講錯東西。 12/22 10:33
39F:推 gs1458:如果上傳的檔案限定都是txt而且內容都很短, 12/28 01:05
40F:→ gs1458:那放在資料庫的講法應該也是正確的=..= 12/28 01:05