වෙබ් යෙදුමක් පරීක්ෂා කරන අතරතුර, පිටුව නවීකරණය කිරීම, නව ටැබ් එකක් විවෘත කිරීම හෝ ලින්ක් එක වෙනත් උපාංගයකට පිටපත් කිරීමෙන් OTP සත්යාපනය අසාර්ථක වීමක් දක්නට ලැබුණා. මෙය කෙටි කාලයකින් පුනර්ඝටන හැකි බග් එකක් වුණාට, මුලින්ම ඉදිරිපස (frontend) ගැටලුවක් කියලා සැලකිල්ලට ගත්තා. නමුත් ඒ අසාර්ථකතාවය පද්ධතියේ මූලික සැලසුමට ගැලපෙන්නෙ නැති බව පසුව හඳුනාගත්තා.
මූලික ගැටලුව React Router එකේ location.state මත පදනම් වූ ඊමේල් තොරතුරු බ්රවුසරයේ මතකයෙහි පමණක් රඳා සිටීමයි. පිටුව නවීකරණය වීමත්, ලින්ක් එක නව ටැබ් එකක විවෘත කිරීමත් සමඟ එම තොරතුරු අහිමි වීම නිසා OTP සත්යාපනය අසාර්ථක වුණා. විසඳුම ලෙස, තොරතුරු සුරකින්න මතකයට නොව, සේවාදායකයේ (server) රහස් ටෝකනයක් (token) භාවිතා කිරීම යෝජනා කරන ලදී.
පරණ සැලසුම බලන්නේ මෙහෙමයි:
- OTP කේතය, නිර්මාණ වේලාව, කල් ඉකුත් වන වේලාව, භාවිතා තත්ත්වය වැනි සියලුම තොරතුරු දත්තගබඩාවේ සුරකින්නා.
එය සාමාන්යයෙන් හොඳ සැලසුමක් පෙනුනත්, ටෝකනය-මූලික ආකෘතියකට මාරු කිරීමේදී ත්රිත්වයක් හෙළි වුණා:
- අනුමාන අඩු කිරීමේ (rate limiting) අඩුපාඩුව – 6-අංක OTP එක මිලියනක් පමණ සංයෝජන තිබුණා, පරික්ෂා සීමා නොමැතිව brute‑force ආකාරයට අත්හදා බැලිය හැකි වුණා.
- දෝෂ පණිවුඩයන්ගෙන් තොරතුරු හෙළි වීම – "User not found" සහ "Invalid OTP" වැනි පණිවුඩයන්ගෙන් ලියාපදිංචි ඊමේල් ලැයිස්තුව හඳුනාගත හැකි වුණා.
- OTP ජනනය API එකේ ආරක්ෂාව නැති වීම – එය පාවිච්චි කිරීමේ සීමාවක් නොමැති බැවින්, අහඹු ලෙස ඇමතුම් කරමින් SMS ගාස්තු, සේවා නාස්ති, සම්පත් අවශ්යතා වැනි ගැටලු ඇති විය.
මෙම ගැටලු නිසා පද්ධතියේ මුළු ආරක්ෂාවම අඩු වුණා. එබැවින්, OTP සත්යාපනයේ සැලසුම වෙනස් කර, ටෝකනයක් පමණක් ග්රාහකයාට ලබා දී, සැබෑ තොරතුරු සහ කල් ඉකුත් වන නීතිය සේවාදායකයේ පවත්වා ගැනීමට යෝජනා කරන ලදී.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණික ආරම්භකයන්, විශ්වවිද්යාල සිසුන් සහ ව්යාපාරිකයින්ට මෙම පළපුරුද්දෙන් ඉගෙන ගත හැකි කරුණු කිහිපයක් ඇත:
- ඇප්ලිකේෂන් සංවර්ධනයේදී client‑side state එකට අධිකව රැඳෙන්න එපා – server‑side token භාවිතයෙන් ආරක්ෂාව වැඩි කරගන්න.
- API endpoint වල rate limiting සහ proper error handling අනිවාර්යයි; එය brute‑force සහ enumeration තාක්ෂණයන්ට එරෙහිව රැකවරණයක් සපයයි.
- OTP වැනි සත්යාපන මාර්ග භාවිතා කරන සේවාවන් SMS ගාස්තු, DDoS ආකාරයේ ආකර්ෂණය වළක්වා ගැනීමට throttling සහ monitoring ක්රියාත්මක කිරීම අත්යවශ්යයි.
මෙම ගැටලු හඳුනා ගැනීම, දේශීය සංවර්ධකයන්ට ආරක්ෂිත පද්ධති නිර්මාණය කිරීමේ වැදගත් පියවරක් වන අතර, දේශීය තාක්ෂණික ආර්ථිකයේ විශ්වාසය වැඩි කිරීමටද උපකාරී වේ.
අවසන් වශයෙන්, සුළු බග් එකක් පවා පද්ධතියේ මූලික ආරක්ෂාව පිළිබඳ වැදගත් පණිවිඩයක් ලබා දෙන්නට සමත් බව මෙම කථාවෙන් පෙනේ. ඔබේ යෙදුමටත් මෙවැනි සංකල්පයන් ඇතුළත් කර, ආරක්ෂිත භාවිතය සහතික කරගන්න.