0
868

Web Cookies

Myo Thant Kyaw

မင်္ဂလာပါ 



cookie တွေဆိုတာဘာလည်း


Cookie တွေကို ဘယ်နေရာမှာသုံးနိုင်တာလည်း


tokenတွေအကြာင်းကိုတော့ website မှာတင်ထားပေးပါတယ်။အရင်သွားဖတ်ကြည့်စေချင်ပါတယ်။


Cookie တွေကိုအသုံးပြုပီး sensitive token တွေ ကိုအသုံးပြုနိုင်မလား


ဘယ်လိုသုံးနိုင်မလည်း


စသဖြင့် ဒီခေါင်းတွေပေါ်မူတည်ပီး ဆွေးနွေးပေးပါမယ်။


ဒီ  article က web ပေါ်အခြေခံပီးပြောမှာမလို့ 

authentication logic တချို့က web မှာပဲအကျုံးဝင်မှာပါ

mobile app တွေရဲ့ auth အတွက်အကျုံးဝင်မှာမဟုတ်ပါဘူး


Cookie တွေဆိုတာ web server ကနေ user ရဲ့ computer, browser ထဲမှာသိမ်းထားတဲ့

data အချက်အလက်တချို့ပါ

ဥပမာ mmcoder.com ကနေ ပီး ခင်ဗျားတို့ browser ထဲမှာသိမ်းလိုက်မဲ့အချက်အလက်တွေပါ။


cookie နဲ့သိမ်းလိုက်တဲ့ data အချက်အလက်တွေက expire ရှိပါတယ်

ဆိုလိုတာ server ကနေ ဘယ်အချိန် expire ရှိတယ်ဆိုပီးသတ်မှတ်နိုင်ပါတယ်။

master php course မှာလည်း cookie သေချာရှင်းပြထားပါသေးတယ်(ကြောညာ :P)


Cookie တွေကို ဘယ် domain ကနေပဲ ဒါမှမဟုတ်

ဘယ် webserver  ထဲက directory ထဲကပဲ access လုပ်လို့ရမလည်း

ဒီလိုလည်း သတ်မှတ်ထားနိုင်ပါတယ်။


Cookie တွေက user ရဲ့ device ထဲမှာ ဒါမှမဟုတ် 

browser ထဲမှာရှိနေတာဖြစ်တဲ့အတွက် ကြည့်လို့ရပါတယ်


javascript မှာ document.cookie နဲ့ကြည့်နိုင်သလို

browser tool ထဲက cookie မှာလည်းကြည့်နိင်ပါတယ်။


Cookie တွေက expire ရှိနေတဲ့အတွက် browser ကိုပိတ်လိုက်သည့်တိုင်အောင်

ဆက်လက်ရှိနေဦးမှာဖြစ်ပါတယ်။


Cookie တွေကိုဘယ်နေရမှာအသုံးပြုနိုင်မလည်း ?

Facebook မှာ keep me login ဆိုတဲ့ check box ကိုလေးကို on ပီး login 

လုပ်လိုက်ရင် နောက်တစ်ခေါက် facebook ကိုခေါ်တဲ့အချိန်မှာ fb ကို username,password ထည့်ပီး

login လုပ်စရာမလိုတော့ပါဘူး

ဒီနေရာမှာအသုံးပြုနိုင်ပါတယ်။


ecommerce app တွေမှာဆိုရင် cart itemsတွေကို cookie မှာ သိမ်းနိုင်ပါတယ်။

ဒါဆိုရင် user ကနောင်တချိန် မှာ website ကိုဝင်ကြည့်ရင်

cart item တွေက ရှိနေဦးမှာဖြစ်ပါတယ်။


ဒီ့အပြင် ui/ux အတွက် အချက်အလက်တွေမှတ်ချင်တာ color တွေမှတ်ိထားချင်တာ

စသဖြင့်အသုံးလိုသလို အသုံးပြုနိင်ပါတယ်


caching  တွေမှာလည်း cookie ကိုအသုံးပြုနိုင်ပါတယ်။

performace အတွက်ပေါ့

website ကိုခေါ်တဲ့အခါ webserver  က database နဲ့ချိတ်ဆက်ပီး data ယူ html file 

တစ်ခုကို user or browser စီပြန်ပို့ပေးပါတယ်

ဒါကို user တွေကမြင်ရတယ်ပေါ့

ဒီအချိန်မှာ cookie ထဲကို database  က အချက်အလက်တွေသိမ်းလိုက်မယ်ဆိုရင်

နောင်တချိန် website ကိုဝင်တဲ့အခါမျိုးမှာ database ကိုခေါ်စရာမလိုတော့လို့

performace ကောင်းသွားမယ်ပေါ့

(လူပိန်းနားလည်အောင် ပြောပြခြင်းဖြစ်ပါတယ်။)


နောက်တစ်ခုကတော့ single page application တွေမှာ auth token နဲ့ user info တွေ ကို 

cookie or localstorage မှာသိမ်းကြပါတယ်။

ဒီနေရာမှာ အပေါ်က cookie တွေ localstorage တွေက browser ရဲ့ developer tool  ကနေ

အလွယ်တကူပဲ ကြည့်ရှုနိုင်သလို ပြင်နိုင်ပြုနိုင်ပါတယ်

ဒါဆို  auth token တွေ user info တွေက အလကားဖြစ်သွားပါပီ


အဲ့မှာ httpCookie တွေရှိပါတယ်

httpCookie တွေက သတ်မှတ်တဲ့အခါ httpOnly attribute နဲ့သတ်မှတ်လိုက်ခြင်းဖြင့်

server ကနေ လွဲရင်တခြား ဘယ်နေရာမျိုးကနေမဆို ပြင်လို့ဖြတ်လို့မရနိုင်တော့ပါဘူး

ဒီမှာ sensitive information တွေအသုံးပြုနိုင်ပါတယ်

နောက်ထပ် device memory မှာလည်းအသုံးပြုပီးသိမ်းထားနိုင်ပါတယ်။


demo response cookie header content (onlyHttp)

Set-Cookie: reg_fb_gate=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; Domain=.example.com; HttpOnly

ဒါပေမဲ့ token တွေကို secure ဖြစ်အောင်နဲ့

app user authorization ကိုထိမ်းဖို့ ဒါနဲ့တင်တော့မလုံလောက်သေးပါဘူး


see you next article guyz ðŸ‘Š

Comment:
Please Login To Create Comment Login
Loading...