မကြာသေးမီနှစ်များအတွင်းကွန်ယက်နည်းပညာဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူအန္တရာယ်ရှိသောဖိုင်တင်ကြွတင်မှုများသည်အင်တာနက်လုံခြုံရေးအတွက်အဓိကခြိမ်းခြောက်မှုတစ်ခုဖြစ်လာသည်။ အန္တရာယ်ရှိသောဖိုင်များကိုတင်ခြင်းအားဖြင့်တိုက်ခိုက်သူသည်ဝက်ဘ်ဆိုက်၏ဖိုင်တင်ပါးတင်ခြင်းကန့်သတ်ချက်များကိုကျော်လွှားနိုင်သည်။ 0 က်ဘ်ဆိုက်၏လုံခြုံရေးကိုတိုးတက်စေရန်အတွက်ကျွန်ုပ်တို့သည်အန္တရာယ်ရှိတဲ့ဖိုင်များ၏ upload ကိုထိရောက်စွာကာကွယ်ရန် PHP code ရှိတင်ထားသောဖိုင်များကို filter လုပ်ပြီးအတည်ပြုရန်လိုအပ်သည်။
အန္တရာယ်ရှိသောဖိုင်များကိုဘုံဖိုင်အမျိုးအစားများအဖြစ်မကြာခဏကူးစက်တတ်သဖြင့်တင်ထားသောဖိုင်များ၏နောက်ဆက်ကိုစစ်ဆေးခြင်းသည်အန္တရာယ်ရှိသောတင်ပို့မှုကိုတားဆီးရန်ပထမခြေလှမ်းဖြစ်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာကုဒ်တစ်ခုဖြစ်သည်။
$ ခွင့်ပြုချက် = array (JPG ',' JPEG ',' PNG ',' GIF '); လွတ်ရှင်ဖိုင်အမျိုးအစားများ $ filextension = strtollowe (pathinfo (file file) (file file file '] ကိုခွင့်ပြုပါ။ // ဖိုင်နောက်ဆက်ကိုရယူပါ။ Die ('image files များကိုသာတင်ခြင်းကိုခွင့်ပြုသည်'), }
နောက်ဆက်တွဲစစ်ဆေးမှုအပြင်ဖိုင်၏ MIMA အမျိုးအစားကိုအတည်ပြုရန်မှာလည်းထပ်တူအရေးကြီးသည်။ ၎င်းသည်အန္တရာယ်ရှိသောဖိုင်များကိုတရားဝင်ဖိုင်များဖုံးကွယ်ထားခြင်းမှတားဆီးပေးသည်။ MIME အမျိုးအစားကို MIME အမျိုးအစားကိုရယူရန် PHPP ၏ MIME_Content_TYPE () function ကိုသင်အသုံးပြုနိုင်သည်။ အောက်ဖော်ပြပါသည်ဥပမာကုဒ်ဖြစ်သည်။
$ leavitymypes = array (image / Jpeg ',' Image / PNG ',' Image / GIF '); လွင့်စင် - တင်ထားသော MIME အမျိုးအစား $ uploadedFile = $ _files ['file file'] ['file tmp_name']; // uploaded ယာယီဖိုင်လမ်းကြောင်းကို $ uploadedmimetype = Mime_Content_type ($ uploadedfile) ကိုရယူပါ။ // အကယ်. (! In_array ($ uploadedmimetype, $ uloloadedmimetype, $ leaventympes)) Die ('image files များကိုသာတင်ခြင်းကိုခွင့်ပြုသည်'), }
ဆာဗာအရင်းအမြစ်များ (သို့) bandwidth ကိုသိမ်းပိုက်ခြင်းမှအလွန်အကျွံတင်ပို့ခြင်းမှကာကွယ်ရန်ကျွန်ုပ်တို့သည်တင်ထားသောဖိုင်များ၏အရွယ်အစားကိုကန့်သတ်ရန်လိုအပ်သည်။ PHP သည်ဖိုင်အရွယ်အစားကို $ _files ['file' ကို ဖြတ်. ရနိုင်သည်။
$ maxfileesize = 5 * 1024 * 1024; // အများဆုံးဖိုင်အရွယ်အစားကိုတင်ရန်ခွင့်ပြုထားသည် (5MB) $ uploadedFileSeize = $ _files ['file'] ['size']; // အကယ်. ($ uploadededfilesize> $ Maxfileizeize) ဆိုလျှင်တင်ထားသောဖိုင်အရွယ်အစားကိုရယူပါ။ သေဆုံး (ဖိုင်အရွယ်အစားသည်ကန့်သတ်ချက်ထက်ကျော်လွန်နေသည် '); }
မတူညီသောအသုံးပြုသူများကတင်ထားသောဖိုင်အမည်များကိုမိတ္တူကူးယူရန်ပျက်ကွက်နိုင်ရန်အတွက်ကျွန်ုပ်တို့သည်တင်ထားသောဖိုင်ကိုအမည်ပြောင်းနိုင်သည်။ PHP ၏ Uniqid () function ကို သုံး. ထူးခြားသောဖိုင်အမည်ကိုထုတ်လုပ်ရန်နှင့်ဖိုင်အမျိုးအစားအသစ်ကိုဖွဲ့စည်းရန်ဖိုင်နောက်ဆက်နှင့်ပေါင်းစပ်ပါ။ ဤတွင်သက်ဆိုင်ရာဥပမာကုဒ်ဖြစ်သည်။
$ uploadedFilename = $ _files ['file'] ['name']; // uploaded file ၏မူရင်းဖိုင်အမည် $ NewFilename = Uniqid ()) ကိုရယူပါ။ '' '' ။ $ filextension; // ဖိုင်အမည်အသစ်တစ်ခုကိုထုတ်လုပ်ရန် $ uploadedFilePathath = './uploads/' '။ $ NewFilename; // အကယ်. uploaded file ကိုသိမ်းဆည်းရန်လမ်းကြောင်းကိုချမှတ်ရန်လမ်းကြောင်းကိုသတ်မှတ်ရန် (Move_uploaded_file) ['tmp_name'], $ uploadedfilepathath) Echo 'File Upload ကိုအောင်မြင်စွာ'; } အခြား Echo 'File Upload မအောင်မြင်ပါ, }
SUFUX စစ်ဆေးမှုကိုကူးယူရန်အတွက် MIME အမျိုးအစားစစ်ဆေးခြင်းနှင့်ဖိုင်အရွယ်အစားကန့်သတ်ချက်များနှင့်ဖိုင်အမည်အရဖိုင်အမည်ကာကွယ်တားဆီးရေးဖိုင်တွဲလက်တွေ့ကာကွယ်တားဆီးရေးကိုကျွန်ုပ်တို့အနေဖြင့်ရယူရန်။ ထို့အပြင်ဆာဗာဆော့ဖ်ဝဲကိုပုံမှန်အဆင့်မြှင့်တင်ခြင်းနှင့်လူသိများသောအားနည်းချက်များကိုပုံမှန်အဆင့်မြှင့်တင်ခြင်းနှင့်အဆင်သင့်သည် ဤအစီအမံများမှတဆင့် 0 က်ဘ်ဆိုက်၏လုံခြုံရေးကိုအာမခံနိုင်သည်, ဒေတာနှင့်အသုံးပြုသူသီးသန့်တည်ရှိမှုကိုကာကွယ်နိုင်သည်။