ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-23, Thursday
🔐 සයිබර් ආරක්ෂාව · 🕒 කියවීමට විනාඩි 2 · 👁 1

ඇතුල්වීමේ පිටුව තත්කාලිකව 10 තත්පර රැඳී සිටියේ ආරක්ෂක Header වල නිසා

ඇතුල්වීමේ පිටුව තත්කාලිකව 10 තත්පර රැඳී සිටියේ ආරක්ෂක Header වල නිසා

අපේ වෙබ් පෝට්‍රල් එකේ පසුගිය සතියේ පරිශීලකයින්ට "Loading…" යන පණිවිඩය තත්කාලිකව 10 තත්පරයක් පෙන්වීමක් සිදු වුණා. එය අහඹු ප්‍රශ්නයක් නොව, ආරක්ෂක Header දෙකක් (X-Frame-Options සහ CSP) නිසා සිදුවූ තාක්ෂණික ගැටළුවක් බව පෙන්වා දුන්නා.

පෝට්‍රල් එක SPA (Single Page Application) වශයෙන් ක්‍රියා කරයි. පළමුව එය පරිශීලකයා ඉදිරියෙන් ලොග් ඉන් වී ඇත්ද කියා silent check එකක් කරයි. මේකට OIDC (OpenID Connect) client library oidc-client-ts භාවිතා කරමින් signinSilent() ක්‍රියාවලිය ක්‍රියාත්මක වේ. රිෆ්‍රෙෂ් ටෝකනයක් නොමැතිනම්, library එක hidden iframe එකක් මගින් identity provider (IdP) වෙත prompt=none සමඟ ඉල්ලීමක් යොදයි.

අපගේ IdP සර්වර් එකේ X-Frame-Options: DENY සහ Content‑Security‑Policy: frame-ancestors 'none' Header දෙකක් සකසා තිබුණා. මෙය clickjacking ආකාරයෙන් රැකවරණය කිරීමේ සාමාන්‍ය පියවරක් වන නමුත්, hidden iframe එක IdP පිටුවක් embed කිරීමට උත්සාහ කළ විට බ්‍රවුසරය එය නවතා දමයි. නමුත් මෙම නවතා දැමීමේදී කිසිදු error event එකක් නොලැබෙයි; iframe එක හිස්ව ඉඳගෙන, library එක 10 තත්පරයක් පුරාවට silentRequestTimeout ඉන්නා තෙක් ඉවසයි.

10 තත්පර කාලය ඉවර වූ පසු library එක promise එක reject කරයි, පෝට්‍රලය පරිශීලකයාට සාමාන්‍ය login පිටුවට යොමු කරයි. එබැවින් පරිශීලකයාට “Loading…” යන පණිවිඩය 10 තත්පරයක් පෙන්වී, පසුව login පිටුවක් පෙනෙයි. තාක්ෂණික වශයෙන් කිසිවක් වැරදි නැත – ආරක්ෂක Header නිවැරදිව සකසා තිබුණා, OIDC silent‑renew පදනමත් සාමාන්‍ය පරිදි ක්‍රියා කළා. ප්‍රශ්නය වූයේ දෙකේ අනුමානයේ ඇති අස්ථි‍රතාවයයි.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

මෙම සිදුවීම අපේ දේශීය සංවර්ධකයින්ට කිහිපයක් වැදගත් පාඩම් ලබා දෙයි:

  • Header සැකසීමේ සත්‍ය බලපෑම – X‑Frame‑Options සහ CSP Header එකක් ඇතුළත් කිරීමේදී එය වෙනත් client library සමඟ කොහොමද අන්තර්ක්‍රියා කරන්නේ යන්න පරීක්ෂා කිරීම අත්‍යවශ්‍ය.
  • OIDC ලයිබ්‍රරියන්ගේ fallback ව්‍යාපාරය – hidden iframe පදනම්ව silent‑renew භාවිතා කරන විට, එම iframe එක බ්‍රවුසරය විසින් තහනම් කරන්නේ නම් timeout එකේ ප්‍රතිඵලය සැලකිල්ලට ගත යුතුය.
  • දෙපාර්ශවීය testing – ආරක්ෂක තත්ත්වය සහ performance testing එකම අවස්ථාවක සිදු කරන්නේ කුමක්ද කියා තේරුම් ගැනීම, ශ්‍රී ලංකාවේ startups සහ IT සමාගම් සඳහා විශාල වාසියක්.

ඉදිරියට, මෙම ව්‍යාජ iframe ප්‍රතික්‍රියා නිසා පරිශීලක අත්දැකීම් අඩු නොවන පරිදි, developers ලා timeout කාලය අභිමානයෙන් සැකසීම, හෝ header policy එක වෙනස් කිරීම වැනි ක්‍රියාමාර්ග ගත හැකිය.

අවසන් වශයෙන්, ආරක්ෂාව හා performance එක එකට ගැලපෙන්නේ කෙසේදැයි පරීක්ෂා කිරීම, දේශීය තාක්ෂණික පරිසරයට වඩාත් සුදුසු, පරිශීලක‑හිතකාමී web application එකක් නිර්මාණය කිරීමට මාර්ගයක් වේ.

💡 මෙම තාක්ෂණික ගැටළුව ගැන ඔබේ අදහස කෙළින්ම අපේ වෙබ් අඩවියෙන් කියන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#login #security #OIDC #iframe #performance