"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ما هي إمكانيات الهروب الإضافية التي يوفرها mysql_real_escape_string() عبر addlashes()؟

ما هي إمكانيات الهروب الإضافية التي يوفرها mysql_real_escape_string() عبر addlashes()؟

تم النشر بتاريخ 2024-11-05
تصفح:248

What Additional Escaping Capabilities Does mysql_real_escape_string() Provide Over addslashes()?

ما هي قدرات mysql_real_escape_string() التي تتجاوز قدرات addlashes()؟

في تطوير الويب، وظائف مثل mysql_real_escape_string() و يلعب addlashes() أدوارًا حاسمة في حماية التطبيقات من هجمات حقن SQL. ومع ذلك، فإن فهم الفروق الدقيقة بين هذه الوظائف أمر ضروري لضمان الأمان الأمثل.

دور الوظائف الخاصة بقاعدة البيانات

في حين أنه قد تكون هناك خيارات بديلة مثل الاستعلامات ذات المعلمات، توفر الوظائف الخاصة بقاعدة البيانات مثل mysql_real_escape_string() مزايا محددة:

  • مصممة خصيصًا لقاعدة بيانات محددة قواعد البيانات: تم تصميم هذه الوظائف للتعامل مع الخصائص الفريدة لنظام قاعدة بيانات معين، مثل MySQL.

قدرات mysql_real_escape_string()

يقوم mysql_real_escape_string() بتعزيز addlashes() عن طريق إضافة شرطة مائلة إلى أحرف إضافية، بما في ذلك:

  • \x00
  • \n
  • \r
  • \
  • '
  • "
  • \x1a

في المقابل، يضيف addlashes() فقط شرطة مائلة إلى ما يلي الأحرف:

  • '
  • \

ثغرة أمنية في حقن SQL مع addlashes () [] &&&] على الرغم من وظائفه، يظل تطبيق الويب الذي يعتمد فقط على addlashes() عرضة لهجمات حقن SQL. وذلك لأن addlashes() لا تفلت من جميع الأحرف التي من المحتمل أن يتم استغلالها، وخاصة علامات الاقتباس المزدوجة (").

على سبيل المثال، ضع في اعتبارك الاستعلام التالي:

SELECT * FROM users WHERE اسم المستخدم = '" . addlashes($_POST['اسم المستخدم']) . "';

SELECT * FROM users WHERE username = '" . addslashes($_POST['username']) . "';

SELECT * FROM users WHERE username = "" OR 1 = 1";

SELECT * FROM users WHERE username = "" OR 1 = 1";

الاستنتاج

بينما يوفر addlashes () حماية أساسية ضد حقن SQL، يوفر mysql_real_escape_string () دفاعًا أكثر قوة عن طريق الهروب من نطاق أوسع على هذا النحو، لتحقيق أقصى قدر من الأمان، يجب على مطوري الويب إعطاء الأولوية لاستخدام وظائف خاصة بقاعدة البيانات مثل mysql_real_escape_string() أو التفكير في اعتمادها. استعلامات ذات معلمات لإزالة أي ثغرات أمنية مرتبطة بمعالجة الإدخال.

بيان الافراج يتم استنساخ هذه المقالة في: 1729486819 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3