क्या छवियों को अपलोड करते समय मुझे $_FILES
से फ़ाइल प्रकार पर भरोसा है? या मुझे exif_imagetype()
के साथ फिर से जांचना है?
उत्तर
documentation से:
फ़ाइल की माइम प्रकार, यदि ब्राउज़र इस जानकारी प्रदान की। एक उदाहरण "छवि/gif" होगा। हालांकि इस माइम प्रकार को PHP पक्ष पर चेक नहीं किया गया है और इसलिए इसके मान को मंजूरी नहीं दी जाती है।
मैं हमेशा वैध छवियों पर जाँच करने के लिए अगले समारोह का उपयोग करें:
function Check_Image($Filename) {
if ($Check_Image = @getimagesize($Filename)) {
return TRUE;
}
return FALSE;
}
कभी कुछ भी है कि बाहर से आता है, विशेष रूप से फ़ाइल अपलोड पर भरोसा!
आकार, स्थान, माइम/प्रकार, extenstion और कुछ भी आप जांच सकते हैं की जांच करें!
लेकिन क्या यह प्रकार बाहर से आता है? या यह php द्वारा कुछ जोड़ा गया है? – HappyDeveloper
ब्राउज़र इसे प्रदान करता है, इस पर भरोसा न करें। –
@ वेस्ले वैन ओपडॉर्प सहमत हैं, यदि आप कर सकते हैं * सामग्री * भी जांचें। – Cheekysoft
नहीं, आप इस पर भरोसा नहीं कर सकते क्योंकि this information is provided by the client browser।
$_FILES['userfile']['type']
फ़ाइल की माइम प्रकार, यदि ब्राउज़र इस जानकारी प्रदान की। एक उदाहरण "छवि/gif" होगा। हालांकि इस माइम प्रकार को PHP पक्ष पर चेक नहीं किया गया है और इसलिए को इसके मान के लिए नहीं लेते हैं।
नहीं, आप $_FILES['userfile']['type']
चर पर भरोसा नहीं कर सकते हैं। इस चर में मौजूद मूल्य जाली जा सकती है। आप अधिक मज़बूती से फ़ाइल प्रकार का पता लगाने के finfo_file
उपयोग कर सकते हैं:
$finfo = finfo_open(FILEINFO_MIME_TYPE); // we need mime type
echo finfo_file($finfo, "/path/to/uploaded/file"); // displays something like image/gif
finfo_close($finfo);
इन कार्यों पीएचपी> = 5.3.0 की आवश्यकता है।
- 1. क्या मैं अपने पर्यावरण चर पर भरोसा कर सकता हूं?
- 2. क्या मैं मॉलोक पर वापस भरोसा कर सकता हूं?
- 3. क्या मैं फेसबुक कनेक्ट पर भरोसा कर सकता हूं?
- 4. क्या मैं रेफरर HTTP शीर्षलेख पर भरोसा कर सकता हूं?
- 5. क्या मैं mod_rewrite पर भरोसा कर सकता हूं?
- 6. क्या मैं PHP __destruct() विधि को कॉल करने के लिए भरोसा कर सकता हूं?
- 7. क्या Windows में अंतर्निहित DbgHelp.dll है? क्या मैं वहां पर भरोसा कर सकता हूं?
- 8. क्या मैं अपने फ्रेम के लिए शून्य UIView लौटने वाले CGRectZero पर भरोसा कर सकता हूं?
- 9. अनुपलब्ध सिस्टम फ़ाइल System.Windows.Media मैं क्या कर सकता हूं?
- 10. क्या मैं मैन्युअल रूप से vim की फ़ाइल टाइप पहचान को पुन: चालू कर सकता हूं?
- 11. सी # में टर्नरी ऑपरेटर सहयोगीता - क्या मैं इस पर भरोसा कर सकता हूं?
- 12. क्या मैं कक्षा को अनदेखा कर सकता हूं लेकिन बाहरी रूप से सील कर सकता हूं?
- 13. मैं एक स्थिर फ़ाइल को कैसे रूट कर सकता हूं?
- 14. $ _FILES खाली
- 15. मैं पर्ल से फ़ाइल अनुमतियां कैसे सेट कर सकता हूं?
- 16. मैं ब्लॉब/फिलस्ट्रीम से फ़ाइल प्रकार की पहचान कैसे कर सकता हूं?
- 17. क्या मैं एक स्पूल फ़ाइल पुनः मुद्रित कर सकता हूं?
- 18. मैं एक फ़ाइल से CGImageRef कैसे प्राप्त कर सकता हूं?
- 19. मैं $ _FILES [''] के साथ getimagesize() का उपयोग कैसे कर सकता हूं?
- 20. मैं एक .dll फ़ाइल को कैसे संकुचित कर सकता हूं?
- 21. मैं क्रोम एमआईएम प्रकार मैपिंग कैसे संपादित कर सकता हूं?
- 22. क्या मैं सीधे node.js से .coffee फ़ाइल चला सकता हूं?
- 23. क्या मैं फ़ायरफ़ॉक्स कैश से विशेष फ़ाइल हटा सकता हूं?
- 24. क्या मैं कॉन्स्ट char * पर स्ट्रेल को अनुकूलित करने के लिए अपने कंपाइलर पर भरोसा कर सकता हूं?
- 25. मैं .jar फ़ाइल को कैसे संपादित कर सकता हूं?
- 26. मैं log4net लॉग फ़ाइल को कैसे साफ़ कर सकता हूं?
- 27. क्या मैं एक जेएस फ़ाइल को दूसरे से कॉल कर सकता हूं।
- 28. PHP - फ़ाइल प्रकार
- 29. क्या मैं छोटे से स्प्रिंग कॉन्फ़िगरेशन फ़ाइल लिख सकता हूं?
- 30. $ _FILES ["फ़ाइल"] ["आकार"] 0 लौट रहा है?
सही, धन्यवाद – HappyDeveloper