लघु जवाब: नहीं
लंबे समय तक जवाब:
विस्तार की तुलना करना और सुनिश्चित करें कि यह MIME प्रकार वास्तव में कुछ नहीं रोकता है से मेल खाता बना रही है। जैसा कि टिप्पणियों में कहा गया था, फ़ाइल एक्सटेंशन को संशोधित करना भी आसान है। एमआईएम प्रकार और एक्सटेंशन केवल संकेत के रूप में होना चाहिए, उनमें कोई अंतर्निहित सुरक्षा नहीं है।
यह सुनिश्चित करना कि आने वाली फ़ाइलों को कोई नुकसान नहीं होता है, उनके लिए आपका उद्देश्य क्या होगा। आपके मामले में मुझे समझ में आया कि आप छवियों की उम्मीद कर रहे हैं। तो आप क्या कर सकते हैं कुछ सैनिटी चेक पहले करें: यह देखने के लिए बाइट्स के पहले जोड़े को स्कैन करें कि फाइलों में प्रासंगिक छवि शीर्षलेख हस्ताक्षर हैं या नहीं - सभी प्रासंगिक छवि प्रारूपों में ये हैं।
"हस्ताक्षर शीर्षलेख" यह तय करने में आपकी सहायता करता है कि फ़ाइल किस प्रकार की छवि प्रारूप का प्रतिरूपण करने का प्रयास करती है। अगले चरण में आप जांच सकते हैं कि शेष सामग्री अंतर्निहित छवि प्रारूप के अनुरूप हैं या नहीं। यह आपको गारंटी देगा कि फ़ाइल वास्तव में उस विशिष्ट प्रारूप की एक छवि फ़ाइल है।
लेकिन फिर भी, फ़ाइल को सावधानीपूर्वक तैयार किया जा सकता है कि जब आप छवि प्रदर्शित करते हैं, तो उस छवि को प्रदर्शित करने के लिए उपयोग की जाने वाली एक लोकप्रिय लाइब्रेरी (उदाहरण के लिए libpng इत्यादि) एक बफर ओवरफ़्लो में चलेगी जो हमलावर उसमें पाया जाता है पुस्तकालय।
असुविधाजनक रूप से क्लाइंट पक्ष से किसी भी इनपुट की इजाजत देने के अलावा सक्रिय रूप से इसे रोकने का कोई तरीका नहीं है।
क्या माइम प्रकार स्पूफिंग के बारे में आपका प्रश्न है, या आप सिर्फ यह जानना चाहते हैं कि अपलोड की गई फाइलों को सत्यापित करने के लिए कि वे छवि फाइलें हैं या नहीं? – CodeCaster
वास्तव में, आपको पहले स्थान पर एमआईएम प्रकारों और फ़ाइल एक्सटेंशन पर भरोसा नहीं करना चाहिए (और आपकी जांच, अगर माइम-> एक्सटेंशन भी गलत है; अगर मैं नकली माइम नकली कर सकता हूं तो मैं नकली नकल कर सकता हूं और अधिक आसानी से एक समान फ़ाइल xtension) –
@CodeCaster: यह सुनिश्चित करने के लिए कि फ़ाइलों को अपलोड किए गए फ़ाइलों के MIME प्रकारों को धोखा नहीं दिया गया है? – abruski