التعليقات
حقن sql (الاشهر على الاطلاق) (الخطوره عاليه):
<?php
$offset = $argv[0]; !
$query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
$result = pg_query($conn, $query);
?>
ثغرات xss (الخطورة متوسطه) :
<?php
$name = $_GET['name'];
echo "Welcome $name";
?>
ثغرات remote file injection منقرضه على php لاكن موجوده بكثره في aspx وعلى المواقع العربيه خاصه وقد تجد حتى في مواقع البنوك D: (خطوره عاليه جداً !! ) :
<?php
$incfile = $_REQUEST["file"];
include($incfile.".php");
?>
ثغرة remote code execution تنفيذ اوامر على السيرفر (خطورة عاليه ) :
<?php
$name = $_GET[‘name’]
system(“echo $name”);
?>
نصائح :
تجنب استخدام الدوال eval + system
استخدم بحذر شديد وليس بشكل ديناميكي من مدخلات المستخدم : include
دائماً تاكد من البيانات المدخله $_POST + $_GET قبل عرضها بالامر ECHO
تاكد من عدم عرض الاخطاء وعرضها في ملف log عبر التعديل في ملف php.ini الامر
display_errors = off
او تنفيذ هذه الاوامر :
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
- تاكد من الغاء تفعيل Directory Listing على السيرفر عبر انشاء ملف .htaccess ثم احفظ السطر التالي فيه :
Options -Indexes
- اخيراً عند رفع صورة للسيرفر لكي تتجنب ان يكون الملف خطيراً استخدم الداله :
bool imagepng ( resource $image [, string $filename [, int $quality [, int $filters ]]] )
بالتوفيق
اخي @yahya11 في مجتمع حسوب io نهتم كثيراً بنشر المعلومات المفيده ... حتى في الردود نرجو ان تترك معلومه مفيده قد يقراءها غيرك :) .
شكرا أخي @KernelCode و لكن العرب محترفوا في التقيمات السلبية
لماذا التسليب -_-
فالاخ محق
صاحب موضوع طرح سؤال
ما هي أكثر ثغرات php التي يقع فيها المبرمج ؟
و هو اجابه بالوثوق بالمستخدم بمعنى اخر اذا كنت تريد الا يخترق موقع لا تثق بالمستخدم ابدا ابدا...
اعمل فلترة (حماية) على اي مدخل بالسكربت فورم تسجيل بالموقع يجب الا يسمح بادخال اكواد من اي نوع لغة برمجة...