လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP File upload လုံခြုံရေးမူဝါဒ

PHP File upload လုံခြုံရေးမူဝါဒ

M66 2025-06-11

ဖိုင်တင်ခြင်းလုံခြုံရေးချိန်ညှိချက်များ

ဖိုင်တင်ခြင်းသည် Web Development တွင်ဘုံအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ သို့သော်, upload အင်္ဂါရပ်ကိုမှန်ကန်စွာ configure မဟုတ်လျှင်၎င်းသည် application အတွက်ကြီးမားသောလုံခြုံရေးအားနည်းချက်များကိုဖြစ်စေနိုင်သည်။ ထို့ကြောင့် upload လုပ်ငန်းစဉ်၏လုံခြုံရေးကိုသေချာစေရန်အရေးကြီးသည်။

PHP တွင်ကျွန်ုပ်တို့သည် PHP.ini ဖိုင်အားလုံခြုံရေးဆိုင်ရာပြ issues နာများကိုထိရောက်စွာကာကွယ်ရန် PHPP.ini ဖိုင်မှတစ်ဆင့်ကန့်သတ်ချက်များကိုသတ်မှတ်နိုင်သည်။ ဤတွင်အချို့သော Common Setup Options များမှာ -

  • Upload_Max_Filesize - တင်ထားသောဖိုင်များ၏အများဆုံးအရွယ်အစားကိုကန့်သတ်ထားသည်။
  • Max_File_uploads - တစ်ချိန်တည်းတွင်တင်ရန်ခွင့်ပြုထားသောဖိုင်အရေအတွက်ကိုသတ်မှတ်သည်။
  • Leave_file_types - တင်ရန်ခွင့်ပြုထားသောဖိုင်အမျိုးအစားကိုသတ်မှတ်သည်။

ဤ parameters တွေကို configure လုပ်ခြင်းအားဖြင့်အလွန်အကျွံဖိုင်တင်ခြင်းနှင့်မလုံခြုံသောဖိုင်အမျိုးအစားများကိုထိထိရောက်ရောက်ကာကွယ်နိုင်ပြီးစနစ်လုံခြုံရေးကိုတိုးတက်အောင်လုပ်နိုင်သည်။

တင်ထားသောဖိုင်အချက်အလက်ရယူရန် $ _FILES Array ကိုသုံးပါ

PHP တွင် $ _files Array သည်ဖိုင်များကိုတင်ခြင်းနှင့်သက်ဆိုင်သောသတင်းအချက်အလက်များကိုသက်ဆိုင်ရာသတင်းအချက်အလက်ရရှိရန်အသုံးပြုသည်။ ဤသည်ခင်းကျင်းမှုတွင်တင်ထားသောဖိုင်၏အမည်, အမျိုးအစား, အရွယ်အစားနှင့်အခြားအချက်အလက်များကဲ့သို့သောသတင်းအချက်အလက်များပါ 0 င်သည်။ ဒီနေရာမှာအခြေခံဥပမာတစ်ခုပါ။

<form action="upload.php" method="POST" enctype="multipart/form-data">
  <input type="file" name="file"/>
  <input type="submit" value="တင်ပါ"/>
</form>

ဖိုင်များကိုတင်သည့်အခါဖိုင်၏အချက်အလက်များကို $ _files array မှတဆင့်ရနိုင်သည်။

$ file = $ _files [&#39;file&#39;];
Echo "ဖိုင်အမည်:" ။ $ file [&#39;name&#39;] ။ "<br /> ";
ECHO "ဖိုင်အမျိုးအစား -" ။ $ file [&#39;type&#39;] ။ "<br /> ";
Echo "ဖိုင်အရွယ်အစား -" ။ $ file [&#39;size&#39;] ။ "bytes<br /> ";
ECHO "ယာယီဖိုင်အမည်:" ။ $ file [&#39;tmp_name&#39;] ။ "<br /> ";

ဤအချက်အလက်များဖြင့်သင်သည်တင်ထားသောဖိုင်များကို ထပ်မံ. အတည်ပြုနိုင်သည်။

ဖိုင်များကိုတင်ရန်လုံခြုံရေးစစ်ဆေးမှုများ

အမှန်တကယ် applications များအနေဖြင့်ဖိုင်အချက်အလက်များကိုရယူခြင်းအပြင်ကျွန်ုပ်တို့သည်အန္တရာယ်ရှိသောဖိုင်များကိုတင်ခြင်းမှကာကွယ်ရန်လုံခြုံရေးစစ်ဆေးမှုများပြုလုပ်ရန်လိုအပ်သည်။ ဤတွင်အများအပြားဘုံလုံခြုံရေးစစ်ဆေးမှုများနည်းလမ်းအများအပြားရှိပါတယ်:

1 ။ တင်ထားသောဖိုင်အမျိုးအစားကိုစစ်ဆေးပါ

MIME အမျိုးအစားများကိုတင်ထားသောဖိုင်များသည်ဖိုင်များ၏စစ်မှန်မှုကိုအတည်ပြုရန်ကူညီနိုင်သည်။ ဖိုင်အမျိုးအစားကိုစစ်ဆေးခြင်းအားဖြင့်အသုံးပြုသူများသည်ခွင့်ပြုချက်မရှိသောဖိုင်အမျိုးအစားများကိုတင်ခြင်းကိုထိရောက်စွာကာကွယ်နိုင်သည်။

$ Leave_Mime_Types = array (image / Jpeg &#39;,&#39; image / PNG &#39;);
အကယ်. (! In_array ($ file [&#39;type&#39;], $ ယာယီလွှဲပြောင်းခြင်း
  Die ("ဤဖိုင်အမျိုးအစားကိုတင်ခြင်း");
}

2 ။ ဖိုင် extension ကိုစစ်ဆေးပါ

ဖိုင် extension များသည်ဖိုင်အမျိုးအစားများကိုအတည်ပြုရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ ဖိုင်၏တိုးချဲ့ခြင်းကိုစစ်ဆေးခြင်းအားဖြင့်တင်ထားသောဖိုင်များသည်လိုအပ်ချက်များနှင့်ကိုက်ညီရန်သေချာစေနိုင်သည်။

$ ယာယီခွင့်ပြုချက် = array (JPG &#39;,&#39; PNG &#39;);
$ extension = Pathinfo ($ file [အမည် &#39;], Pathinfo_extension),
IF (! In_array ($ extension, $ extension_extensions)))
  သေဆုံး ("ဒီ extension နဲ့အတူဖိုင်တွေကို upload");
}

3 ။ Upload ဖိုင်ကိုသတ်မှတ်ထားသော directory သို့ရွှေ့ပါ

ဖိုင်တင်ပြီးပါက၎င်းကိုသတ်မှတ်ထားသော directory သို့ရွှေ့ပြောင်းရန်နှင့်ပစ်မှတ်ထားသော directory သည်အန္တရာယ်ရှိသောဖိုင်တင်ခြင်းကိုကာကွယ်ရန်သင့်တော်သောခွင့်ပြုချက်ဆက်တင်များပြုလုပ်ရန်လိုအပ်သည်။

$ target_directory = "uploads /";
$ target_path = $ target_directory ။ $ file [&#39;name&#39;];

အကယ်. (Move_UPLOADED_File ($ file [&#39;tmp_name&#39;], $ target_path))
  ECHO "ဖိုင်တင်ခြင်းကိုအောင်မြင်စွာ";
} အခြား
  Echo "File Upload မအောင်မြင်,
}

နိဂုံးချုပ်အားဖြင့်

$ _files arrays များကို အသုံးပြု. သင့်လျော်သောလုံခြုံရေးစစ်ဆေးမှုများနှင့်ပေါင်းစပ်ခြင်းအားဖြင့်သင်သည်သင်၏လျှောက်လွှာကိုဖိုင်တင်ခြင်း၏လုံခြုံရေးခြိမ်းခြောက်မှုများမှထိရောက်စွာကာကွယ်နိုင်သည်။ သင်ဟာအတွေ့အကြုံမရှိသေးတဲ့တီထွင်သူတစ်ယောက်လား, အတွေ့အကြုံရှိတဲ့ကျွမ်းကျင်သူလား, ဖိုင်တင်ခြင်းလုံခြုံရေးကိုဂရုပြုသင့်ပြီးသင့်လျှောက်လွှာနှင့်အသုံးပြုသူအချက်အလက်များ၏လုံခြုံရေးကိုသေချာစေရန်အကောင်းဆုံးအလေ့အကျင့်များကိုလိုက်နာသင့်သည်။