လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> 0 က်ဘ်ဆိုက်လုံခြုံရေးကာကွယ်စောင့်ရှောက်ရေးအစီအမံများကိုအားဖြည့်ရန် PHP ကိုမည်သို့အသုံးပြုရမည်နည်း

0 က်ဘ်ဆိုက်လုံခြုံရေးကာကွယ်စောင့်ရှောက်ရေးအစီအမံများကိုအားဖြည့်ရန် PHP ကိုမည်သို့အသုံးပြုရမည်နည်း

M66 2025-06-20

0 က်ဘ်ဆိုက်လုံခြုံရေးကာကွယ်စောင့်ရှောက်ရေးအစီအမံများကိုအားဖြည့်ရန် PHP ကိုမည်သို့အသုံးပြုရမည်နည်း

အင်တာနက်အသက်အရွယ်တွင်ဝက်ဘ်ဆိုက်များလုံခြုံရေးသည်အထူးသဖြင့် PHP ကို ​​အသုံးပြု. ဖွံ့ဖြိုးလာခဲ့သည်။ ဤဆောင်းပါးသည်ဘုံလုံခြုံရေးပြ issues နာအချို့ကိုစူးစမ်းလေ့လာပြီး SQL Injection, XSS တိုက်ခိုက်မှုများကဲ့သို့သောဘုံခြိမ်းခြောက်မှုများနှင့် session fixation များကိုတားဆီးခြင်းအပါအ 0 င် PHP မှတစ်ဆင့်သင်၏ 0 က်ဘ်ဆိုက်၏လုံခြုံမှုကိုမည်သို့တိုးတက်အောင်လုပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။ Developer များသည်ဤကာကွယ်မှုအစီအမံများကိုအကောင်အထည်ဖော်ရန်ကူညီရန်သက်ဆိုင်သည့်ကျင့်ထုံးဥပမာများကိုလည်းပေးထားသည်။

1 ။ SQL Injection Attack Attack ကာကွယ်မှုကာကွယ်မှု

SQL Injection Attack သည်အသုံးအများဆုံးလုံခြုံရေးပြ issues နာများထဲမှတစ်ခုဖြစ်သည်။ Preprocessing ထုတ်ပြန်ချက်များကိုအသုံးပြုခြင်းသည် SQL ဆေးထိုးတိုက်ခိုက်မှုများကိုထိရောက်စွာတားဆီးနိုင်သည်။ ဤတွင်ရိုးရှင်းသောကာကွယ်စောင့်ရှောက်ရေးဥပမာတစ်ခု -

$ username = $ _post ['username'];
$ စကားဝှက် = $ _post ['password'];

$ stmt = $ pdo-> ကြိုတင်ပြင်ဆင်မှု ("username = username = password =?"););
$ stmt-> Execute ([$ username, $ password]);
$ user = $ stmt-> fetch ();

2 ။ XSS (Cross-site scripting) တိုက်ခိုက်မှုကာကွယ်စောင့်ရှောက်ရေး

XSS တိုက်ခိုက်မှုများသည်တိုက်ခိုက်သူတစ် ဦး သည်ဝက်ဘ်စာမျက်နှာတစ်ခုသို့အန္တရာယ်ရှိသော scripts များကိုထိုးသွင်း။ အသုံးပြုသူသတင်းအချက်အလက်များကိုခိုးယူခြင်းသို့မဟုတ်အန္တရာယ်ရှိသောလုပ်ရပ်များပြုလုပ်သည့်အခါတွင် XSS တိုက်ခိုက်မှုများမှာပါ 0 င်သည်။ အသုံးပြုသူ input မှလွတ်မြောက်ခြင်းအားဖြင့် XSS တိုက်ခိုက်မှုများကိုထိရောက်စွာကာကွယ်နိုင်သည်။ XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန် PHP ၏ htmlspecialchars function ကိုအသုံးပြုခြင်း၏ဥပမာတစ်ခုမှာ -

$ name = $ _post ['name'];
$ message = $ _post ['message'];

$ အမည် = htmlspecialchars ($ အမည်, ent_quotes 'utf-8');
$ message = htmlspecialchars ($ message, ent_quotes 'utf-8');

ပဲ့တင်သံ "အမည်:" ။ $ နာမည်။ "<br> ";
ECHO "မက်ဆေ့ခ်ျကိုထားခဲ့ပါ" ။ $ မက်ဆေ့ခ်ျကို။ "<br> ";

3 ။ Session စီမံခန့်ခွဲမှုနှင့် session ကို fixed တိုက်ခိုက်မှု၏ကာကွယ်တားဆီးရေး

Session Fixed Fixed Attack သည်အသုံးပြုသူတစ် ဦး ၏ session ID ကိုအသုံးပြုသူအဖြစ်အန္တရာယ်ရှိစေရန်တိုက်ခိုက်သူကိုရည်ညွှန်းသည်။ ထိုကဲ့သို့သောတိုက်ခိုက်မှုများကိုကာကွယ်ရန်သုံးစွဲသူမှတ်တမ်းများတွင်မူသင်ခန်းစာအိုင်ဒီကိုပြန်လည်ထူထောင်နိုင်သည်။ ဤနေရာတွင် Session Fixed တိုက်ခိုက်မှုများကိုကာကွယ်ရန်ကုဒ်နမူနာတစ်ခုဖြစ်ပါသည်။

Session_Start ();

အကယ်. (ISSET) ($ _ username &#39;] )&& is _ _ _ post [&#39; post [&#39;post&#39;]))
    // အသုံးပြုသူ login // အတည်ပြုရန် // ...

    session_regenate_id (true), // regenerate session ကိုအိုင်ဒီ
    $ _session [&#39;user&#39;] = $ အသုံးပြုသူ,
}

4 ။ ဖိုင်တင်ခြင်းလုံခြုံရေး

ဖိုင်တင်ခြင်းသည်ဘုံအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ သို့သော်၎င်းသည်လုံခြုံရေးဆိုင်ရာအန္တရာယ်များကိုဖြစ်စေနိုင်သည်။ ဖိုင်တင်ခြင်း၏လုံခြုံရေးကိုသေချာစေရန်, အောက်ပါအစီအမံများကိုပြုလုပ်နိုင်သည်။

  • ဖိုင်အမျိုးအစားကိုစစ်ဆေးပါ။ အန္တရာယ်ရှိသောဖိုင်တင်ခြင်းကိုရှောင်ရှားရန်တင်ထားသောဖိုင်အမျိုးအစားနှင့်နောက်ဆက်အမည်ကိုစစ်ဆေးပါ။
  • ဖိုင်အရွယ်အစားကိုကန့်သတ်ပါ။ အရွယ်အစားအလွန်အကျွံဖိုင်များကိုကာကွယ်ရန်ဖိုင်တင်ခြင်းအရွယ်အစားကိုကန့်သတ်ပါ။
  • ဖိုင်များအား overnames overnames overwrite လုပ်ရန် upload ဖိုင်များအတွက်ထူးခြားသောဖိုင်များအတွက်ထူးခြားသောဖိုင်အမည်များကိုထုတ်လုပ်ပါ။
$ Itlettypes = [JPG &#39;,&#39; JPEG &#39;,&#39; PNG &#39;];
$ maxsize = 1024 * 1024; // 1MB
$ uploaddir = &#39;uploads /&#39;;

IF (ISSET ($ _ ဖိုင်များ [&#39;file])))
    $ file = $ _files [&#39;file&#39;];

    အကယ်. ($ file [&#39;အမှား&#39;] === upload_err_ew)
        $ filext = Pathinfo ($ file [&#39;အမည်&#39;], Pathinfo_extension);

        IF (အတွက် ($ filext, $ lefttypes) && $ file [&#39;file [&#39; file] <= $ maxsize)
            $ filename = uniqid () ။ &#39;&#39; &#39;&#39; ။ $ filext;
            $ destination = $ uploaddddin ။ $ filename;

            Move_Uploaded_File ($ file [&#39;tmp_name&#39;], $ destination),
            ECHO "ဖိုင်တင်ကြွအောင်လုပ်ပါ။ ";
        } အခြား
            ECHO "ဖိုင်အမျိုးအစား (သို့) အရွယ်အစားသည်လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးပါသည်။ ";
        }
    } အခြား
        ECHO "ဖိုင်တင်သံလွှင့်မှုမအောင်မြင်ပါ။ ";
    }
}

5 ။ လုံခြုံရေးသစ်ထုတ်လုပ်ခြင်း

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

function logactivity ($ message) {
    $ logfile = &#39;log.txt&#39;;
    $ logmessage = "[" ။ ရက်စွဲ (&#39;YMD H: i: S&#39;) ။ "]" "။ $ မက်ဆေ့ခ်ျကို။ "\ n";
    File_Props_contents ($ logfile, $ logmessage, file_append);
}

// အောင်မြင်စွာဖြည့်ဆည်းခြင်းတွင် logging လုပ်ပြီးနောက် logging ("အသုံးပြုသူ login အောင်မြင်စွာဝင်ရောက်ပါ။ " ။ $ _session [&#39;username&#39;]);

// အထိခိုက်မခံသောစစ်ဆင်ရေးများပြုလုပ်ပြီးနောက် Log Logactivity ("အသုံးပြုသူလုပ်ဆောင်မှုများ - ကိုယ်ရေးကိုယ်တာအချက်အလက်များကိုပြုပြင်မွမ်းမံခြင်း"),

အကျဉ်းချုပ်:

ဝက်ဘ်ဆိုက်လုံခြုံရေးကိုကာကွယ်ခြင်းသည် developer တိုင်း၏အရေးပါသောတာဝန်ဖြစ်သည်။ ဤဆောင်းပါးက SQL Injection, Session များ, session fix againstands များစသည်တို့ကိုထိရောက်စွာကာကွယ်ရန်အတွက် PHP ကိုထိရောက်စွာလုပ်ဆောင်ရန်မည်သို့အသုံးပြုရမည်ကိုဖော်ပြသည်။ 0 က်ဘ်ဆိုက်၏လုံခြုံရေးသိသိသာသာတိုးတက်လာနိုင်သည်။ သတိရပါ, လုံခြုံမှုသည်ဆက်လက်ဖြစ်ပွားနေသောဖြစ်စဉ်တစ်ခုဖြစ်ပြီးပုံမှန်လုံခြုံရေးစစ်ဆေးမှုများနှင့်ပြုပြင်ခြင်းသည် 0 က်ဘ်ဆိုက်လုံခြုံရေးအတွက်အရေးပါသောအာမခံချက်ဖြစ်သည်။