एक कैसे और कब/कहाँ भाग है। यह काफी सरल है, क्योंकि बाइनरी फाइलों में हेडर होता है और हेडर स्ट्रिप आउट और चेक करना काफी आसान होता है। विंडोज़ फाइलों के लिए, आप आलेख Executable-File Header Format देख सकते हैं। इसी प्रकार के प्रारूपों का उपयोग अन्य बाइनरी प्रकारों के लिए किया जाता है, ताकि आप उन प्रकारों को निर्धारित कर सकें जिन्हें आप अनुमति देते हैं और जिन्हें आप नहीं करते हैं।
नोट: लिंक किया गया आलेख फ़ाइल की पूरी क्वेरीिंग के लिए है। सस्ते, नीचे और गंदे, शॉर्टकट हैं जहां आप केवल कुछ बाइट्स की जांच करते हैं।
कब/कहां निर्भर करता है कि आप फ़ाइलों को कैसे प्राप्त कर रहे हैं। यदि आप एक अत्यधिक सारणीबद्ध पद्धति (अपलोड लाइब्रेरी) का उपयोग कर रहे हैं, जो काफी सामान्य है, तो आप बिट्स से पूछताछ शुरू करने से पहले पूरी फ़ाइल स्ट्रीम कर सकते हैं। चाहे वह स्मृति में स्ट्रीम हो या आपको सहेजना और हटाना होगा, कोडिंग और संभवतः यहां तक कि लाइब्रेरी पर भी निर्भर करता है। यदि आप स्ट्रीमिंग को नियंत्रित करते हैं, तो आपके पास पहले बाइट्स (हेडर भाग) में स्ट्रीम करने की क्षमता है और प्रक्रिया को मध्य स्ट्रीम में निरस्त कर दिया गया है।
स्रोत
2011-08-03 19:00:19
फ़ाइल शीर्षलेख जाली जा सकती है। अपलोड किए गए डेटा के पहले दो बाइट्स देखें - यदि यह 'एमजेड' है, तो बाधाएं आपको निष्पादन योग्य हैं। –
डुप्लिकेट: http://stackoverflow.com/questions/3635128/validate-file-type-extension – Matthieu