我允許人們上傳他們的項目文件,我收緊了我的安全性,但我只需要簡單點。我怎樣才能停止執行他們上傳的子目錄中的任何文件?PHP:允許用戶上傳.php文件,我如何阻止它們運行?
我想.htaccess
,但我需要爲每個新的子目錄(我認爲)生成一個,我是否需要取消當前的代碼並使用.php
文件發送頭文件來強制DL文件而不是運行?
您認爲這是一個簡單而安全的解決方案嗎?它只是上傳到像uploads/~foo/bar.html
這樣的子目錄,它看起來很不錯,所以如果它能保持這種格式,它會很好。
我允許人們上傳他們的項目文件,我收緊了我的安全性,但我只需要簡單點。我怎樣才能停止執行他們上傳的子目錄中的任何文件?PHP:允許用戶上傳.php文件,我如何阻止它們運行?
我想.htaccess
,但我需要爲每個新的子目錄(我認爲)生成一個,我是否需要取消當前的代碼並使用.php
文件發送頭文件來強制DL文件而不是運行?
您認爲這是一個簡單而安全的解決方案嗎?它只是上傳到像uploads/~foo/bar.html
這樣的子目錄,它看起來很不錯,所以如果它能保持這種格式,它會很好。
在uploads/.htaccess
將這個:
RemoveType應用程序/ X的httpd - PHP .PHP
這將爲所有子文件夾的工作。另外請確保您不要在用戶文件夾中解析.htaccess。這可以通過主服務器配置中的AllowOverride None
來完成,或者可以通過首先不允許上傳.htaccess文件來完成。
非常感謝您,我認爲並確實不允許.htaccess上傳,但allowoverride會添加我想要的安全。 非常感謝! – 2010-06-19 09:43:23
其實,我怎麼會允許這不會影響upload.php我在那裏?笑lol – 2010-06-19 09:49:50
其實不用擔心!我找到了一個沒有任何內容的目錄,我將把腳本放在那裏。 – 2010-06-19 09:51:12
舉例來說,如果這些上傳的文件在目錄中爲「上傳」和子目錄:
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.php [NC]
RewriteCond %{REQUEST_URI} \/uploads\/
RewriteRule ^(.*)$ index.php [F,L]
爲什麼downvote?它可能是重複的,但是然後搜索原始並投票結束。 – 2010-06-19 09:39:09