好的,我允許(在一個腳本內)通過論壇管理員定義的方法上傳某些類型的文件!我如何知道這些文件是否屬於管理員設置的類型,以確保它們不是假文件。我目前正在使用MIME類型的方法,但不同的瀏覽器可以設置不同的MIME類型,所以這並沒有多大幫助。檢查文件擴展名也沒有幫助,因爲人們可以通過給它一個允許的擴展名來解決這個問題,但是它會是不同的文件類型。如何確定他們正在上傳某些文件
也許有一種方法來檢查許多不同類型的文件中的字節,以確保它是正確的類型的方式參考?也許這也可能是僞造的,但至少在使用表單上傳文件和提交文件時會更加準確。
有人可以幫助我的想法嗎?
謝謝:)
你期望什麼類型的文件?根據文件,您可以閱讀它們的頭文件以查看它們是什麼類型的文件。 – alex
那麼,管理員可以通過放置每個允許用逗號分隔的文件擴展名的擴展名來選擇他們想要允許上傳的文件。所以,現在我只需要'explode(',',$ extensions)',並確保文件類型對於返回的數組中的所有擴展都是正確的。有沒有辦法做到這一點?你可以讀什麼文件頭?哪些文件可以不讀取標題?你有沒有更好的方法來實現這個更好的安全性和/或代碼方面的想法? – SoLoGHoST
看看['mime_content_type()'](http://php.net/manual/en/function.mime-content-type.php)。 – alex