2011-02-02 56 views
0

在Web應用程序中,我有一個上傳文件夾,其中存儲了所有用戶的文件,我需要消除執行它們的可能性。文件上傳安全 - chmod執行限制不起作用

正如維基百科看到:

搭配chmod -R A-X + X目錄
刪除在目錄樹中的所有文件的執行權限,同時允許目錄瀏覽。

但之後成功使用這一上傳文件夾的所有,我已經放在這裏是爲了測試目的(我懷疑所有其他類型的可執行文件)的封閉PHP,Perl和Python腳本,當我打印不得到執行他們在瀏覽器的地址。

爲什麼會發生這種情況,我該如何解決這個問題?

+0

澄清。你chmod了一個目錄,所有的文件仍然是可執行的,或者是你在chmodd後上傳的文件? – IvanGoneKrazy 2011-02-02 22:21:26

回答

2

perl,php和python解釋器會高興地執行傳遞給它們的輸入文件,無論其輸入文件的執行權限位是否打開。 (在 另一方面,如果該文件有一個shebang行指定使用哪一種解釋, 執行權限會受到尊重。但是,這可能是不適合 您的情況的情況下)。

你必須通過配置您的Web服務器(限制 它認爲可執行的目錄)來解決此問題,而不是在文件系統級別。

如果您使用的是Apache,您可能需要查看全局配置文件或本地.htaccess文件as described here中的ScriptAlias指令 。

+0

感謝您的解釋。 – Anton 2011-02-02 22:30:44