محمود أبوالحسن

مطور ويب شامل

تصميم الرسومات

مطور ووردبريس

مطور لارافيل

مصمم باستخدام فيغما

مستقل

محمود أبوالحسن
محمود أبوالحسن

مطور ويب شامل

تصميم الرسومات

مطور ووردبريس

مطور لارافيل

مصمم باستخدام فيغما

مستقل

أفكار وتجارب تستحق المشاركة

منع حقن SQL بالفصل بين الاستعلام والبيانات

1 دقيقة قراءة تقريبًا
ابدأ القراءة
منع حقن SQL بالفصل بين الاستعلام والبيانات

يظهر خطر حقن SQL عندما تتحول مدخلات المستخدم إلى جزء من بنية الاستعلام. العلاج الأساسي هو فصل القيم عن النص التنفيذي باستخدام معاملات مناسبة.

الفكرة الأساسية

استخدم الاستعلامات المحضّرة للبيانات، وقائمة سماح للعناصر التي لا تقبل الربط كأسماء أعمدة الترتيب. حدّد صلاحيات حساب قاعدة البيانات بما يحتاجه التطبيق.

خطوات عملية

  1. اربط قيم البحث والمعرفات بدل دمجها نصيًا.
  2. حوّل خيار الترتيب إلى اسم معروف داخل الكود.
  3. اختبر المدخلات غير المتوقعة دون عرض أخطاء قاعدة البيانات.

الأمن السيبراني — صورة توضيحية

مثال تطبيقي

يمكن تحويل sort=title إلى عمود محدد مسبقًا، بينما تُربط عبارة البحث كمعامل مستقل.

خطأ شائع ينبغي تجنبه

الهروب اليدوي ليس بديلًا عامًا للتحضير، والتحقق من المدخلات وحده لا يضمن أمان بناء الاستعلام.

مثال تقني مبسّط

المقتطف التالي يوضح الفكرة، ويحتاج إلى تكييف مع بنية مشروعك ومساراته والتحقق المناسب قبل استخدامه.

$stmt = $pdo->prepare('SELECT id, title_ar FROM articles WHERE id = ?');
$stmt->execute([$articleId]);

للتوسع في الموضوع

التوثيق والمرجع الرسمي

صور توضيحية: الغلاف من Unsplash، الصورة الداخلية من Unsplash. ترخيص الاستخدام.

شارك المقال

شارك هذه الفكرة مع من تهمّه.

لنتحدث عن فكرتك القادمة

لديك سؤال أو فكرة مشروع؟ يسعدني التواصل معك.

اتصل بنا
Dark Mode EN English Buy Me A Coffee Buy Me A Coffee