မျက်မှောက်ခေတ်ဝဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင် 0 ဘ်ဆိုဒ်လုံခြုံရေးသည် developer များ၏အရေးကြီးသောတာဝန်တစ်ခုဖြစ်ပွားခြင်းဖြစ်သည်။ X-frame-options , striction - type options များ,
PHP တွင် HTTP ခေါင်းစီးများကိုသတ်မှတ်ရန်အသုံးအများဆုံးနည်းလမ်းမှာ header () function ကိုအသုံးပြုရန်ဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ၏ header () function ကို အသုံးပြု. X-Frameb-Options နှင့်အခြားဘုံလုံခြုံသော HTTP ခေါင်းစီးများကိုမည်သို့သတ်မှတ်မည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
X-frame-options များသည် 0 က်ဘ်စာမျက်နှာများကို <frome iframe> , <frame> or objects> ကိုကာကွယ်ရန်နှင့် clickjacking တိုက်ခိုက်မှုများကိုကာကွယ်ရန်အတွက်ကာကွယ်ရန်အတွက်အသုံးပြုသည်။
နမူနာကုဒ်:
<?php
// inembedded ခံရဖို့တားမြစ်သည် iframe အလယ်ပိုင်း
header('X-Frame-Options: DENY');
// တူညီသောဒိုမိန်းအမည်၏ embeddings သာခွင့်ပြုထားသည်
// header('X-Frame-Options: SAMEORIGIN');
// သတ်သတ်မှတ်မှတ်တတိယပါတီဒိုမိန်း embedding ခွင့်ပြုပါ(မှတ်သား:browsers အများစု ALLOW-FROM မကောင်းတဲ့အထောက်အပံ့)
// header('X-Frame-Options: ALLOW-FROM https://m66.net');
?>
မည်သည့် output မတိုင်မီ header () ကို ခေါ်ရန်လိုအပ်သည်။ များသောအားဖြင့် PHP ဖိုင်၏ထိပ်တွင်နေရာချထားနိုင်သည်။ မှတ်စု: အကြောင်းအရာသည် output ကို (ဥပမာ ECHO ကဲ့သို့သော) ထုတ်လွှင့်သည်နှင့်တပြိုင်နက်ခေါ်ဆိုမှု header () သည် အမှားတစ်ခုဖြစ်ပေါ်စေလိမ့်မည်။
X-frame-options များ အပြင်အောက်ပါလုံခြုံရေးခေါင်းဆောင်မှုများကိုလည်းသင်ထည့်နိုင်သည်။
<?php
// တားဆီး MIME obfuscation ကိုရိုက်ပါ
header('X-Content-Type-Options: nosniff');
// browser ကိုဖွင့်ထားသည် XSS ကာကွယ်(မှတ်သား:ခေတ်သစ် browser (ဘရောက်ဆာ) ကဒီတန်ဖိုးကိုကျဆင်းသွားသည်)
header('X-XSS-Protection: 1; mode=block');
// အတင်းအကျပ်အသုံးပြုမှု HTTPS(configuration ကိုလိုအပ်သည် HTTPS လက်မှတ်)
header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload');
// အကြောင်းအရာလုံခြုံရေးမူဝါဒချမှတ်ပါ(CSP)
header("Content-Security-Policy: default-src 'self'; img-src 'self' https://m66.net; script-src 'self'");
?>
ဤခေါင်းစီးများပေါင်းစပ်ခြင်းသည်ဆိုက်လုံခြုံရေးကိုများစွာမြှင့်တင်ပေးနိုင်သည်။ သို့သော်အမှန်တကယ်လိုအပ်ချက်များအရသတိနှင့် configure လုပ်ရမည်။
အကယ်. သင်သည်ဤလုံခြုံရေးခေါင်းကို site တစ်ခုလုံးတစ်လျှောက်တူညီစွာသတ်မှတ်လိုပါကအကြံပြုချက်အရှိဆုံးနည်းလမ်းမှာ -
Apache ကိုသုံးလျှင် .Htaccess တွင်ထားနိုင်သည်။
Nginx ကိုသုံးပါက၎င်းကို configuration file ထဲတွင်ထည့်နိုင်သည်။
အကယ်. သင်သည် PHP ကိုသုံးရန်လိုပါက 0 က်ဘ်ဆိုက် entry file မှတဆင့် (ဥပမာ index.php ) မှတစ်ဆင့်ထည့်နိုင်သည်။
ဥပမာ (entry file):
<?php
// လုံခြုံရေးခေါင်းကိုစည်းလုံးညီညွတ်သောနည်းလမ်းဖြင့်သတ်မှတ်ပါ
header('X-Frame-Options: DENY');
header('X-Content-Type-Options: nosniff');
header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload');
header("Content-Security-Policy: default-src 'self'; img-src 'self' https://m66.net; script-src 'self'");
// နောက်ဆက်တွဲစီးပွားရေးယုတ္တိဗေဒ
require 'app/bootstrap.php';
?>
output ကိုမတိုင်မီခေါ်ယူခြင်း - header () oder () output ကို) မဆို (နေရာများ, လိုင်းအားလပ်ချိန်များအပါအဝင်) ဟုခေါ်ရမည်။
Debug Tool စစ်ဆေးမှု - Browser's developer tools (network panel) သို့မဟုတ် curl -i command ကိုသုံးနိုင်သည်။
ထုတ်လုပ်မှုပတ်ဝန်းကျင်စမ်းသပ်ခြင်း