我如何保護包含上傳文件的文件夾?如何保護包含上傳文件的文件夾?
我有文件夾,包括由我上傳的所有文件,我想如果用戶試圖更改URL或者通過顯示所有文件,瀏覽器重定向他到另一個頁面這樣的例子
www.tet.php /文件夾/text.doc
如果用戶嘗試寫(www.tet.php /文件夾),以顯示所有文件重定向他自動www.tet.php
或任何一個,請告訴我取巧的辦法消失/文件夾/
我如何保護包含上傳文件的文件夾?如何保護包含上傳文件的文件夾?
我有文件夾,包括由我上傳的所有文件,我想如果用戶試圖更改URL或者通過顯示所有文件,瀏覽器重定向他到另一個頁面這樣的例子
www.tet.php /文件夾/text.doc
如果用戶嘗試寫(www.tet.php /文件夾),以顯示所有文件重定向他自動www.tet.php
或任何一個,請告訴我取巧的辦法消失/文件夾/
我不知道PHP,但一個解決方案我想和不知道如果PHP可以處理或不:
你可以把你的「UsersUploads」文件夾放在網站目錄之外,所以如果你的網站存在於「c:\ website \ example.com」你可以把「UsersUploads」放在那裏「c:\ UsersUploads」,就像你的web服務器不能控制這個文件夾及其文件一樣,你的網站代碼仍然可以作爲普通物理路徑訪問這個目錄。
如果您使用Apache,你有2個解決方案:
將您的文件夾uploaded_files出你的DocumentRoot(該文件夾 是從 網絡訪問的根)的 。
使用該文件夾中的.htaccess文件 來阻止對該文件夾的訪問。
使用身份驗證來訪問該文件夾一個.htaccess的一個小例子:
AuthName "Page d'administration protégée"
AuthType Basic
AuthUserFile "/var/www/uploadedfiles/.htpasswd"
Require valid-user
如果您使用IIS,那麼你必須通過你們IIS管理爲拒絕訪問該文件夾爲大家安慰。除了某些IP地址或地址範圍外,您還可以拒絕任何訪問。
只是爲了擴大對@紀的答案,包括有關重定向到一個頁面上失敗的部分:
AuthName "Page d'administration protégée"
AuthType Basic
AuthUserFile "/var/www/uploadedfiles/.htpasswd"
Require valid-user
ErrorDocument 403 www.urlToRedirectTo.com
而且,.htpasswd則應該放在Web根目錄之外的,應該只包含username:pasword
。密碼應該散列。您可以輕鬆地在線查找實用程序以爲您創建這些文件。
oky和我如何設置密碼,我不知道有關htaccess的任何事情 – user646645 2011-04-07 09:46:48
使用此表格http://www.htaccesstools.com/htpasswd-generator/生成加密密碼。將結果頁上文本框中的文本複製到位於AuthUserFile行指向的路徑中的名爲'.htpasswd'的文件中。同樣,出於安全原因,這應該不在Web根目錄中。 – 2011-04-07 09:56:02
什麼是您的網絡服務器? IIS的Apache的還是? – 2011-04-07 09:00:28
可能重複[我如何防止公衆使用PHP下載文件?](http://stackoverflow.com/questions/2339649/how-do-i-prevent-public-downloads-of-files-using-php) – deceze 2011-04-07 09:01:53