အင်တာနက်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူဝက်ဘ်ဆိုက်များသည်အသုံးပြုသူများကိုကြည့်ရှုသည့်အခါဝက်ဘ်ဆိုက်များသည်အချက်အလက်အချို့ကို browser သို့သိမ်းဆည်းလိမ့်မည်။ ဤအချက်အလက်သိုလှောင်မှုနည်းလမ်းကို cookie ဟုခေါ်သည်။ ဒီတော့ cookies တွေကိုဘယ်မှာသိမ်းထားသလဲ။ ကွဲပြားခြားနားသော browser များ၌သိုလှောင်ထားသော cookies များ၏တည်နေရာကိုအသေးစိတ်လေ့လာပါမည်။
ဘရောက်ဇာသည် client ပေါ်တွင် cookies များကိုသိမ်းဆည်းထားပြီးသိုလှောင်မှုတည်နေရာသည် browser ၏အကောင်အထည်ဖော်မှုအပေါ်မူတည်သည်။ Mainstream browser များအများအပြားအတွက် cookie သိုလှောင်မှုနေရာများမှာ -
ယေဘုယျအားဖြင့် cookies များကိုများသောအားဖြင့်ဝေးလံခေါင်သီသောဆာဗာများတွင်မဟုတ်ဘဲဒေသဖွံ့ကီဖိုင်များတွင်သိမ်းဆည်းထားသည်။
JavaScript တွင် cookies များကိုအဓိကအားဖြင့် document.cookie attribute attribute မှတစ်ဆင့်ပြုလုပ်သည်။ JavaScript ကို အသုံးပြု. cookies များကိုဖတ်ရန်, ဖြည့်စွက်ခြင်းနှင့်ဖျက်ခြင်း၏ဥပမာတစ်ခုမှာဥပမာတစ်ခုဖြစ်သည်။
ကွတ်ကီးများကိုအောက်ပါလုပ်ဆောင်မှုများမှတစ်ဆင့် JavaScript တွင်ဖတ်ရှုနိုင်သည်။
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
return decodeURIComponent(arr[2]);
} else {
return null;
}
}
ဤလုပ်ဆောင်ချက်သည် cookie ကိုသတ်မှတ်ထားသောအမည်နှင့်ကိုက်ညီရန်ပုံမှန်စကားရပ်ကိုအသုံးပြုသည်။ Cookie တန်ဖိုးသည်တရုတ်သို့မဟုတ်အခြားအထူးဇာတ်ကောင်များပါ 0 င်နိုင်သည့်ကတည်းက Decodeuricomponent () decodeuricomponent () လိုအပ်သည်။
JavaScript တွင် cookies များကိုထည့်ရန်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
function setCookie(name, value, duration) {
var exp = new Date();
exp.setTime(exp.getTime() + duration * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + exp.toGMTString() + ";path=/";
}
ဤလုပ်ဆောင်ချက်သည် parameters သုံးနာရီကိုလက်ခံသည်။ အမည်သည် cookie ၏အမည်ကိုကိုယ်စားပြုသည်။ တန်ဖိုးသည် cookie ၏တန်ဖိုးကိုကိုယ်စားပြုသည်။ ၎င်းသည်သက်တမ်းကုန်ဆုံးချိန်ကိုတွက်ချက်ပြီး cookies များကို document.cookie သို့သိုလှောင်ထားသည်။
JavaScript တွင် cookies များကိုဖျက်ရန်နည်းလမ်းမှာအောက်ပါအတိုင်းဖြစ်သည် -
function deleteCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null) {
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/";
}
}
ဤလုပ်ဆောင်မှုသည် cookie ၏သက်တမ်းကုန်ဆုံးချိန်ကိုအတိတ်ကာလသို့သတ်မှတ်ပြီးချက်ချင်းသက်တမ်းကုန်ဆုံးစေနိုင်သည်။
node.js မှာတော့ cookies တွေကိုလည်ပတ်ဖို့တတိယပါတီစာကြည့်တိုက်တွေကိုသုံးနိုင်တယ်။ အောက်ပါဥပမာသည် cookies များကိုထည့်သွင်းရန်, ဖတ်ရန်နှင့်ဖျက်ရန်အတွက် cookie-parser စာကြည့်တိုက်ကိုအသုံးပြုသည်။
cookie-parser ကို install လုပ်ရန် terminal တွင်အောက်ပါ command ကိုရိုက်ထည့်ပါ။
npm install cookie-parser
Node.Js တွင် cookies များကိုထည့်သွင်းရန်အတွက်ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
const cookieParser = require('cookie-parser');
app.use(cookieParser());
app.get('/setCookie', function(req, res) {
res.cookie('name', 'value', { maxAge: 900000, httpOnly: true });
res.send('cookie added');
});
ဤကုဒ်သည် cookie ကိုတောင်းဆိုမှုတွင် 'နာမည်' အမည်ရှိ 'value' ၏တန်ဖိုးကိုသတ်မှတ်သည်,
cookie ကိုဖတ်ရှုသည့်အတွက်ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
app.get('/getCookie', function(req, res) {
var value = req.cookies.name;
res.send('cookie value: ' + value);
});
cookie ကိုဖျက်ရန်ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
app.get('/clearCookie', function(req, res) {
res.clearCookie('name');
res.send('cookie cleared');
});
ဤဆောင်းပါးသည် cookies များကိုသိုလှောင်ထားသည့်နေရာနှင့် JavaScript နှင့် node.js.js. တွင် cookies များကိုမည်သို့လည်ပတ်ရမည်ကိုဖော်ပြသည်။ ကွတ်ကီးများကိုစာဝှက်မထားကြောင်းသတိပြုသင့်သည်မှာသတိပြုသင့်သည်။ ထို့ကြောင့်အထိခိုက်မခံသောအချက်အလက်များကို cookies များတွင်တိုက်ရိုက်မသိမ်းဆည်းသင့်ပါ။ cookies များ၏သက်တမ်းကာလသည်သက်တမ်းကုန်ဆုံးသောအချက်အလက်ကြောင့်ဖြစ်ရတဲ့လုံခြုံရေးအန္တရာယ်များကိုရှောင်ကြဉ်ရန်သင့်တင့်လျောက်ပတ်စွာသတ်မှတ်ထားကြောင်းသေချာပါစေ။