အင်တာနက်အလျင်အမြန်ဖွံ့ဖြိုးတိုးတက်မှုဖြင့်ဝက်ဘ်ဆိုက်များသည် PHP ကိုဖွံ့ဖြိုးရေးဘာသာစကားအဖြစ်ရွေးချယ်သည်။ သို့သော် PHP ၏ပွင့်လင်းမှုနှင့်ပြောင်းလွယ်ပြင်လွယ်မှုသည်၎င်းကိုဟက်ကာများ၏ပစ်မှတ်များထဲမှတစ်ခုဖြစ်သည်။ အန္တရာယ်ရှိတဲ့ဖိုင်တင်ခြင်းတိုက်ခိုက်မှုများသည်တိုက်ခိုက်ရန်အသုံးအများဆုံးနည်းလမ်းများအနက်မှတစ်ခုဖြစ်သည်။ ဟက်ကာများသည် 0 က်ဘ်ဆိုက်ကိုထိန်းချုပ်နိုင်သည့်သို့မဟုတ်အန္တရာယ်ရှိသောကုဒ်များပါ 0 င်သောဖိုင်များကိုတင်ခြင်းဖြင့်အသုံးပြုသူများထံမှအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုခိုးယူနိုင်သည်။ PHP 0 ဘ်ဆိုဒ်များလုံခြုံရေးအတွက်လုံခြုံရေးသေချာစေရန်ဤဆောင်းပါးသည်ထိရောက်သောကာကွယ်မှုနည်းလမ်းများနှင့်နမူနာကုဒ်များကိုမိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်တင်ထားသောဖိုင်များအမျိုးအစားကိုစစ်ဆေးရန်နှင့်တရားမ 0 င်ဖိုင်တင်ခြင်းကိုရှောင်ရှားရန်တင်ထားသည့်ဖိုင်အမျိုးအစားများကိုကန့်သတ်ထားသည်။ PHP ၏ $ _files variable မှတဆင့်သင်သည်တင်ထားသောဖိုင်အမျိုးအစားကိုရယူပြီး၎င်းကိုခွင့်ပြုထားသောအမျိုးအစားနှင့်နှိုင်းယှဉ်နိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာကုဒ်တစ်ခုဖြစ်သည်။
<?php<br> $ lefttypes = array ('image / Jpeg', 'Image / PNG', 'Image / GIF');<br> $ uploadedfiletype = $ _files ['file'] ['type's];<br> IF (in_array ($ uploadedfiletype, $ Dileptypes))<br> // ဖိုင်တင်ခြင်းယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်ပါ<br> } အခြား<br> Echo 'Image Files' ကိုသာတင်ပါ။<br> }<br> >
ဖိုင်အမျိုးအစားများကိုစစ်ဆေးခြင်းအပြင်ကျွန်ုပ်တို့သည်တင်ထားသောဖိုင်များ၏အရွယ်အစားကိုကန့်သတ်ရန်လိုအပ်သည်။ တင်ထားသောဖိုင်များ၏အရွယ်အစားကိုကန့်သတ်ခြင်းအားဖြင့်ဟက်ကာများသည်ဆာဗာအရင်းအမြစ်များကိုထိခိုက်စေခြင်း, ဤတွင်သက်ဆိုင်ရာကုဒ်နမူနာဖြစ်ပါတယ်:
<?php<br> $ maxfilesize = 1024 * 1024; // 1MB အထိကန့်သတ်<br> $ uploadedFileSeize = $ _files ['file'] ['size'];<br> IF ($ uploadedfilesizilizeize <= $ maxfileize) {<br> // ဖိုင်တင်ခြင်းယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်ပါ<br> } အခြား<br> Echo 'တင်ဒါဖိုင်အရွယ်အစားသည်ကန့်သတ်ချက်ထက်ကျော်လွန်သည်။<br> }<br> >
အန္တရာယ်ရှိတဲ့ဖိုင်များကို တင်. ကွပ်မျက်ခြင်းမှကာကွယ်ရန်နှင့်၎င်းတို့ကိုအကောင်အထည်ဖော်ရန်ကျွန်ုပ်တို့အားတင်ထားသောဖိုင်၏အမည်နှင့်လမ်းကြောင်းကိုပြုပြင်နိုင်သည်။ အသုံးပြုသူမှတိုက်ရိုက်တင်ထားသည့်မူရင်းဖိုင်အမည်ကိုအသုံးပြုမည့်အစား timestamps သို့မဟုတ်ကျပန်းကြိုးများကိုအသုံးပြုခြင်းဖြင့်ဖိုင်အမျိုးအစားအသစ်တစ်ခုကိုထုတ်လုပ်ပါ။ ထို့အပြင် uploaded ဖိုင်ကိုတိုက်ရိုက် 0 င်ရောက်ခြင်းကိုရှောင်ရှားရန်အတွက်တင်ထားသောဖိုင်ကို Non-web root directory တွင်သိမ်းဆည်းရန်အကြံပြုသည်။ အောက်ပါတို့သည်သက်ဆိုင်သောသင်္ကေတများဖြစ်သည်။
<?php<br> $ Uploaddirectory = '/ Path / TO / UPLOAD / Folder / Folder / Folder / Folder / Folder / Folder) // အမှန်တကယ် upload ဖိုင်လမ်းညွှန်သို့ပြုပြင်ပါ<br> $ uploadedFilename = အချိန် () ။ '_' ။ Rand (1000, 9999) Rand ။ '_' ။ $ _files ['file'] ['name'];<br> $ uploadedfilepilepath = $ uploaddirectory ။ $ uploadededfilename;<br> if (Move_uploaded_file ($ _ ဖိုင်များ ['file file'] ['tmp_name'], $ uploadededfilepathat)<br> // ဖိုင်တင်ခြင်းသည်အောင်မြင်ပြီးအခြားစီးပွားရေးယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်သည်<br> } အခြား<br> Echo 'File Upload မအောင်မြင်ပါ,<br> }<br> >
whitelist ဖန်တီးခြင်းဖြင့်တင်ရန်ဖိုင်များကိုကန့်သတ်ထားပါ။ တရားဝင်အသုံးပြုသူများသည်တင်ဒါ၏ IP address ကိုစစ်ဆေးခြင်းနှင့် whitelist နှင့်ကိုက်ညီမှုရှိစေရန်သင်တရားဝင်အသုံးပြုသူများသည်ဖိုင်များကို upload တင်နိုင်သည်။ အောက်ဖော်ပြပါသည်သက်ဆိုင်ရာနမူနာကုဒ်ဖြစ်သည်။
<?php<br> $ leavits = array ('127.0.0.1),' 192.168.0.1 ''; // ယုံကြည်စိတ်ချရသော IP address ကိုမှပြုပြင်မွမ်းမံ<br> $ Uploadedip = $ _server ['remote_addr';<br> IF (in_array ($ uploadedipedipipp, $ leftiips))<br> // ဖိုင်တင်ခြင်းယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်ပါ<br> } အခြား<br> Echo 'ဖိုင်များကို upload လုပ်ရန်ခွင့်ပြုချက်မရှိပါ။<br> }<br> >
အထက်ပါအစီအမံများမှတဆင့် PHP ဝက်ဘ်ဆိုက်များသည်အန္တရာယ်ရှိသောဖိုင်တင်ခြင်းဆိုင်ရာတိုက်ခိုက်မှုများကိုများစွာကာကွယ်နိုင်သည်။ သို့သော်ဝက်ဘ်ဆိုက်လုံခြုံရေးသည်စဉ်ဆက်မပြတ်အသစ်ပြောင်းခြင်းများနှင့်တိုးမြှင့်ကာကွယ်စောင့်ရှောက်ရေးအစီအမံများလိုအပ်သည်။ ပုံမှန် php ဗားရှင်းကို အသုံးပြု. စနစ်အားနည်းချက်များအားပုံမှန် pupting လုပ်ခြင်း,