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

🚨 PHP Path Traversal: ඔබේ වෙබ් යෙදුමට අතුරුදන්වූ ගොනු ආරක්ෂාව

🚨 PHP Path Traversal: ඔබේ වෙබ් යෙදුමට අතුරුදන්වූ ගොනු ආරක්ෂාව

PHP හෝ Laravel යෙදුම් වල ගොනු බාගත, ටෙම්ප්ලේට් පූරණ වැනි සාමාන්‍ය කාර්යයන්ට ../ වැනි සරල අක්ෂරයක් මගින් ඔබේ සර්වර් එකේ රහස් ගොනු හෙළා දමන්න පුළුවන් යැයි ඔබ දන්නවාද? මේ ලිපියෙන් පaths traversal යන තර්ජනයේ මූලිකත්වය, එය කෙලින්ම ඔබේ දත්ත ගොනු, .env, SSH key වැනි අත්‍යවශ්‍ය ගොනු ග්‍රහණය කරගැනීමේ ක්‍රමය පැහැදිලි කරයි.

උදාහරණයක් ලෙස, ඔබේ යෙදුම $filename = $_GET['file']; $filepath = '/var/www/storage/files/' . $filename; readfile($filepath); ලෙස ගොනු බාගත කරනවානම්, නරක අයෙක් file=../../config/database.php යන පරාමිතිය යවයි. මෙයින් /var/www/config/database.php ගොනුවට ප්‍රවේශය ලැබෙන අතර, ඔබේ දත්ත ගබඩා ගොනුවේ පුරාණ පුරවැසි තොරතුරු සරලව හෙළා දමයි.

අදාල තර්ජනය තවත් ඉහළට ගොස් ../../../etc/passwd වැනි පාරම්පරික Unix ගොනුද ප්‍රවේශය ලබා ගත හැක. එමගින් පද්ධතියේ පරිශීලක නාම, අවසර මට්ටම්, සර්වර් ලොග් වැනි තොරතුරු එකතු කරගෙන, ඉදිරි ත්‍රස්තකාරී ක්‍රියාමාර්ග සැලසුම් කරගැනීමට අවස්ථාව ලැබේ.

ඇත්තේ, බොහෝ සංවර්ධකයින් සරල str_replace('../','',$_GET['file']) වැනි ෆිල්ටරයන් භාවිතා කරන අතර, එය URL-කේතනය කරලා %2e%2e%2f (../) වැනි විකල්ප ආකාරයන්ට බොහෝ විට අසාර්ථක වෙයි. එම නිසා, string‑based පරීක්ෂණයන් පථය සත්‍යයෙන් විශ්ලේෂණය නොකළහොත්, ආරක්ෂාව නිතරම අඩු වේ.

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

ශ්‍රී ලංකාවේ බොහෝ ආයතන, විශ්වවිද්‍යාල, තාක්ෂණ සමාගම් PHP හෝ Laravel පදනම් කරගෙන වෙබ් සේවා සැපයීමේදී මෙම තර්ජනයට සූදානම් නොවී ඇත. මෙය සිදු වුවහොත්:

  • ඉගෙනුම් ආයතන – සිසුන්ගේ පර්යේෂණ පද්ධති, LMS වැනි ගොනු භාරගත වීමේ පද්ධති වල රහස් තොරතුරු හෙළා දමයි.
  • විකාශකයින් – අඩු පරිසරයක් (dev) තුළ පරීක්ෂා කරන ලද කේතයක් නිෂ්පාදනයේ පාවිච්චි කිරීමෙන් ආරක්ෂක දෝෂ හෙළා දමයි.
  • ව්‍යාපාර – .env ගොනුවේ API key, DB password වැනි තොරතුරු හෙළා දමීමෙන් ව්‍යාපාරික වටිනාකම හා පාරිභෝගික රහස් නාස්ති වේ.

ඒ නිසා, PHP හි readfile(), file_get_contents(), fopen(), include() වැනි ක්‍රියාකාරකම් භාවිතා කරන අවස්ථාවේ, පූර්ණ පථ නිරූපණය, realpath() පරීක්ෂා, whitelist පද්ධතියක් භාවිතා කිරීම අත්‍යවශ්‍ය වේ.

අවසන් වශයෙන්, පaths traversal තර්ජනයක් පෙනෙන තරම් සරලයි, නමුත් එය සාර්ථක වන්නේ ඔබේ යෙදුමේ පාරමිතියන් පිරිසිදු නොකළ විටය. නිවැරදි ආරක්ෂක පියවර ගන්න, අනිවාර්යයෙන්ම ඔබේ කේතය පරීක්ෂා කර, ලොග් සටහන් නිරීක්ෂණය කර, අදාළ පද්ධති නවීකරණය කරගන්න.

💡 ඔබේ PHP යෙදුම අදම ආරක්ෂා කරමු!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#PHP #Path Traversal #Security #Laravel #SriLanka