2017-06-07 117 views
0

我的網站上有一項功能,允許用戶上傳各種類型的文件。我不希望人們上傳bash文件,但我無法通過文件擴展名來判斷,因爲據我所知,'.pdf'文件只能包含bash代碼。有沒有辦法檢查一個文件是否可以用bash運行?如何檢查一個文件是否是一個帶有PHP的bash文件?

+0

聽起來[XY-問題】(https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)至我。人們上傳bash腳本有什麼問題?你可以不運行它們。請記住,即使是一個bash腳本也需要[可執行](https://askubuntu.com/questions/229589/how-to-make-a-file-ega-sh-script-executable-so-it-can-首先從終端運行。此外,文件擴展名*永遠不是檢查文件類型的好方法。至少不是本身。 – domsson

+0

「上傳bash腳本的人有什麼問題?」,我的導師告訴我,在服務器上免費上傳bash(或其他可執行文件)腳本是一個問題,因爲我們不知道它是否可以觸發,它是如何發生的被使用等。 – Shashimee

+0

那麼,它完全取決於你和你的應用程序上傳的文件會發生什麼。如果你確定他們沒有設置可執行的位,並且你確定它們不會被執行,那麼我不會看到一個特定的問題。但是,我絕不是這個領域的專家。什麼是頁面將處理文件?它只是一個文件託管服務?如果讓你感覺更舒適,你可以將每個文件都包裹在「zip」中。 – domsson

回答

相關問題