"Please wait"
እባክዎ በትዕግስት ይጠብቁ የኢንተርኔት ድክመት ስላለ ነው!

Home About Us Main point Service Job Vacancy Comment

በ PHP የተሰራን መሰረታዊ ድህረገጽ ወይም ሲስተም ከደህንነት ስጋት ለመጠበቅ ሊተገበሩ የሚገቡ 7 ወሳኝ እና መሰረታዊ ነጥቦች የሚከተሉት ናቸው

20-06-2026 11:29am

1. የተዘጋጁ አረፍተ-ነገሮችን መጠቀም (Prepared Statements / SQL Injection Protection)

የተጠቃሚ ስም እና የይለፍ ቃል በሚቀበሉበት ጊዜ (ፎርም ላይ) ተጠቃሚው የሚያስገባው መረጃ በቀጥታ ከዳታቤዝ ትዕዛዝ ጋር መደባለቅ የለበትም። አጥቂዎች አደገኛ የዳታቤዝ ኮዶችን በማስገባት ሲስተምዎን ሊሰብሩት ይችላሉ።

መፍትሄ፦ ከተራ የ query() አሰራር ይልቅ በ PDO ወይም MySQLi prepare() እና execute() የተዘጋጁ አረፍተ-ነገሮችን መጠቀም ግዴታ ነው።

2. የፎርም መረጃዎችን ማጣራት (XSS Protection / Input Sanitization)
ተጠቃሚዎች በድረ-ገጽዎ ላይ አስተያየት በሚጽፉበት ወይም ፎርም በሚሞሉበት ጊዜ የጃቫስክሪፕት (JavaScript) አጥፊ ኮዶችን ሊያስገቡ ይችላሉ። ያ ኮድ ዳታቤዝ ውስጥ ተቀምጦ ሌላ ሰው ገጹን ሲከፍተው ሊሰነዘር ይችላል (Cross-Site Scripting)።

መፍትሄ፦ ማንኛውንም ከተጠቃሚ የመጣን መረጃ በድረ-ገጹ ላይ ከማሳየትዎ በፊት በ htmlspecialchars() ማጣራት አለብዎት።

3. የፓስወርድ ምስጠራ (Password Hashing)
የተጠቃሚዎችን ወይም የአድሚኖችን የይለፍ ቃል (Password) በዳታቤዝ ላይ እንዳለ በግልጽ ፅሁፍ (Plain Text) ማስቀመጥ ፍጹም የተከለከለ ነው። ዳታቤዙ ቢሰረቅ እንኳ ፓስወርዱ መታወቅ የለበትም።
መፍትሄ፦ የ PHP ን password_hash() ፈንክሽን በመጠቀም በጠንካራ የBCRYPT አልጎሪዝም መስፈርትን መሰረት አድርገው መመስጠር አለብዎት። ለማረጋገጥ ደግሞ password_verify() ን ይጠቀሙ።

4. የሴሽን ደህንነት መጠበቅ (Session Security)
ተጠቃሚው አንዴ ሎግኢን (Login) ካደረገ በኋላ የገቡበት መታወቂያ (Session ID) በሌላ ሰው ከተሰረቀ፣ አጥቂው ያለ ፓስወርድ አካውንቱን ሊቆጣጠረው ይችላል (Session Hijacking)።
መፍትሄ፦ በ PHP ኮድዎ መጀመሪያ ላይ የሴሽን ኩኪዎችን ደህንነት እንዲህ በማድረግ ያጥብቁ፦
php
session_start([
"cookie_lifetime" => 0,
"cookie_secure" => true, // በ HTTPS ብቻ እንዲሰራ
"cookie_httponly" => true, // በጃቫስክሪፕት እንዳይሰረቅ
"cookie_samesite" => "Strict"
]);

5. የፋይል ጭነትን መገደብ (Secure File Uploads)
ተጠቃሚዎች ምስል ወይም ዶክመንት እንዲጭኑ (Upload እንዲያደርጉ) የሚፈቅድ ሲስተም ካለዎት፣ አጥቂዎች የ PHP ፋይል ( .php ) በመጫን ሙሉ ሰርቨርዎን ሊቆጣጠሩት ይችላሉ።

መፍትሄ፦ የፋይሉን ኤክስቴንሽን (Extension) ብቻ ሳይሆን ትክክለኛ የፋይል አይነትነቱን (MIME Type) በ finfo_file() ያረጋግጡ። በተጨማሪም የተጫኑ ፋይሎችን ስም ሙሉ በሙሉ በመቀየር በብሮውዘር በቀጥታ የ PHP ኮድ ማሄድ በማይችልበት ፎልደር ውስጥ ያስቀምጧቸው።

6. የሰርቨር ማውጫዎችን መቆለፍ (Directory Browsing & Error Disabling)
በ public ፎልደር ውስጥ ያሉ ማውጫዎች ዝርዝር በግልጽ መታየት የለበትም። እንዲሁም ሲስተሙ ላይ ስህተት (Error) ሲፈጠር የሚታዩ የኮድ መስመሮች ለአጥቂዎች ፍንጭ ይሰጣሉ።

መፍትሄ፦ በ .htaccess ፋይል ላይ Options -Indexes በመጻፍ ማውጫዎችን ይቆልፉ። በፕሮዳክሽን (Live ሰርቨር) ላይ የ PHP ስህተቶች በገጹ ላይ እንዳይታዩ በ php.ini ወይም በኮድዎ ላይ ini_set("display_errors", 0); ያድርጉ።

7. ዋና ፋይሎችን ከ Public ፎልደር ውጭ ማድረግ (Core Files Isolation)
ይህ በጣም ወሳኝ የስትራቴጂ ስራ ነው። የዳታቤዝ መገናኛ መረጃዎችን የያዙ ፋይሎች ( config.php ወይም .env )፣ የሲስተሙ ዋና ሎጂኮች እና የቆዩ ባክአፖች በሕዝብ በቀጥታ ሊገኙ በሚችሉበት public_html ወይም httpdocs ፎልደር ውስጥ መቀመጥ የለባቸውም።

መፍትሄ፦ እነዚህን ፋይሎች ከ httpdocs አንድ ደረጃ ወደ ላይ (One level up) ባለው በ Home directory ስር በመደበቅ፣ በ include ወይም require ብቻ ወደ ዋናው ገጽ መጥራት የዌብሳይትዎን ደህንነት እጅግ አስተማማኝ ያደርገዋል።
ማጠቃለያ እነዚህ ነገሮች በሙሉ በሲስተሙ ሰሪ(አበልጻጊ ) Developer ላይ የሚሰሩ ስራወች ብቻ ናቸው እንጂ በ ISP በኩል ያሉትን ደግሞ የበይነ መረብ አገልግሎት አቅራቢ ድርጅቱ የሚሰራቸው ስራወች እንደተጠበቁ ነው።

loading

ይህ መረጃ 77 ጊዜ በተለያዩ ሰዎች ታይቷል ---) (----

   ይህንን መረጃ ከታች ባሉት 👇    👇    👇    ሚዲያወች በመጫን Share..

Comment Form