إتاحة استعلامات SQL بأمان
وفّروا وصولًا للقراءة إلى قاعدة بيانات دون التعرض للحقن.
إتاحة استعلامات SQL بأمان درس مجاني في MCP Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في MCP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة MCP Academy 4 دروس في المجموع.
قواعد البيانات خلف أداة
يمكن لخادم MCP تزويد نموذج ببيانات حقيقية من خلال وضع قاعدة بيانات خلف أداة، بحيث يطرح الذكاء الاصطناعي أسئلة بدلًا من الوصول إلى الجداول الخام. 🗄️
القراءة دون الكتابة
لأسباب تتعلق بالسلامة، ابدأ بإتاحة صلاحية القراءة فقط. دع النموذج يستعلم ويعرض النتائج، مع إبقاء عمليات الإدراج والتحديث والحذف خارج نطاق الاستخدام.
خطر الحقن
لا تلصق نص النموذج مباشرةً في SQL. فهذا يفتح الباب أمام SQL injection، حيث تعيد مدخلات مصممة خصيصًا كتابة استعلامك وتسرّب البيانات أو تدمرها.
query = "SELECT * FROM users WHERE id = " + user_input # unsafe!استخدام الاستعلامات المعلّمة
الحل هو الاستعلامات المعلّمة: تكتب عناصر نائبة ويربط برنامج التشغيل القيم بأمان، بحيث لا تتمكن المدخلات من تغيير بنية الاستعلام.
cur.execute("SELECT * FROM users WHERE id = ?", (user_id,))أخذ القيم كوسيطات
دع النموذج يمرر القيم باعتبارها وسيطات ذات أنواع محددة، ثم أنشئ الاستعلام. يزوّد النموذج بالبيانات، لا بنص SQL نفسه.
@mcp.tool()
def find_user(user_id: int) -> str:
...تثبيت بنية الاستعلام
أبقِ SQL ثابتًا في شيفرتك، وأدرج المعلمات المرتبطة فقط. فبنية الاستعلام المقفلة هي أبسط طريقة للحفاظ على الأمان.
استخدام دور للقراءة فقط
طبّق دفاعًا متعدد الطبقات: اتصل باستخدام مستخدم قاعدة بيانات بصلاحية القراءة فقط. وحتى الأداة التي تحتوي على خلل لن تتمكن فعليًا من تعديل بياناتك أو حذفها.
تحديد حجم النتيجة
حدّد دائمًا عدد الصفوف باستخدام LIMIT، حتى لا يؤدي استعلام واسع واحد إلى تفريغ جدول ضخم في النموذج واستنفاد ميزانية الرموز.
cur.execute("SELECT name FROM users LIMIT 50")السماح بالجداول المحددة فقط
إذا اختار النموذج جدولًا، فتحقق منه مقابل قائمة السماح. ارفض أي اسم غير موجود في القائمة بدلًا من الوثوق به.
إعادة صفوف مرتبة
نسّق النتائج كنص واضح أو سجلات بسيطة لكي يقرأها النموذج بسهولة. تعني الوضوح في هذه الخطوة وضوحًا في خطوة الاستدلال التالية.
إخفاء الأعمدة الحساسة
حدّد الأعمدة التي تحتاج إليها المهمة فقط. ويؤدي استبعاد الأسرار مثل تجزئات كلمات المرور إلى إبقاء البيانات الخاصة خارج النموذج تمامًا.
اختبار سريع
ما الذي يحمي أداة SQL من الحقن؟
مراجعة: SQL الآمن
كشفت قاعدة بيانات بأمان: استعلامات معلّمة للقراءة فقط، وجداول مسموح بها، وحدود لعدد الصفوف. والآن غلّف واجهة API للويب. 🎯
تعلم Python مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «إتاحة استعلامات SQL بأمان» مجاني؟
نعم — نص درس «إتاحة استعلامات SQL بأمان» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة MCP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة MCP Academy 4 دروس في المجموع.
ماذا ستتعلم في «إتاحة استعلامات SQL بأمان»؟
وفّروا وصولًا للقراءة إلى قاعدة بيانات دون التعرض للحقن. تتمرن على MCP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ MCP Academy؟
لا تُشترط خبرة سابقة. MCP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «إتاحة استعلامات SQL بأمان»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس MCP Academy هذا؟
نعم. كل درس في MCP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إتاحة استعلامات SQL بأمان
- تغليف REST API في صورة أدوات
- تجميع الاتصالات في دورة الحياة
- التخزين المؤقت وتحديد معدل خدمات المنبع