تعمل حزمة البرامج الوسيطة لحقن SQL في Laravel عن طريق اعتراض طلبات HTTP الواردة وفحص بيانات الإدخال للكشف عن هجمات حقن SQL ومنعها قبل الوصول إلى منطق التطبيق أو طبقة قاعدة البيانات. فيما يلي شرح مفصل لكيفية عمل هذه الوسيطة:
الوظيفة الأساسية
- يعمل الوسيطة كمرشح على بيانات طلب HTTP ، بما في ذلك معلمات الاستعلام ، ومدخلات النماذج ، وغيرها من البيانات التي يقدمها المستخدم.
- يقوم بالتحقق من صحة هذه المدخلات وتعقيمها للتأكد من أنها لا تحتوي على رمز أو أنماط SQL ضارة يمكن استخدامها لمعالجة استعلامات SQL.
- من خلال تطهير المدخلات في وقت مبكر ، فإنه يمنع البيانات غير الآمنة من تمريرها إلى استعلامات SQL الخام أو بناة الاستعلام التي قد تكون عرضة للحقن.
الآليات الفنية
-عادة ما يقوم الوسيطة بمسح سلاسل الإدخال للأحرف المشبوهة أو الكلمات الرئيسية SQL التي تستخدم عادة في هجمات الحقن ، مثل "،" ؛ "،"-"،" Drop "،" Select "، إلخ.
- قد يهرب أو يزيل الأحرف الخطرة أو يرفض الطلبات بشكل مباشر إذا تم اكتشاف أنماط ضارة.
- توفر بعض حزم الوسيطة أيضًا تسجيلًا قابلًا للتكوين للمدخلات المشبوهة ، مما يسمح للمطورين بمراقبة محاولات الهجوم المحتملة وتحليلها.
- يمكن تطبيق الوسيطة على مستوى العالم على جميع الطرق أو بشكل انتقائي على طرق محددة تتطلب حماية إضافية.
التكامل في لارافيل
- يتم تثبيت الحزمة عبر الملحن وتكوينها عن طريق نشر ملف التكوين الخاص به.
- تم تسجيل البرامج الوسيطة في kernel HTTP's HTTP من Laravel إما على مستوى العالم أو كوسيط الطريق.
- بمجرد التسجيل ، يقوم تلقائيًا بمعالجة كل طلب وارد أو توجيه من خلاله.
- يمكن للمطورين تخصيص السلوك مثل التسجيل أو حظر أو تعقيم الاستراتيجيات من خلال التكوين.
حماية إضافية
- إلى جانب حقن SQL ، تحمي بعض حزم الوسيطة أيضًا من حقن LDAP عن طريق تعقيم المدخلات المستخدمة في استعلامات خدمة الدليل.
- يكمل الوسيطة حماية Laravel المدمجة مثل ربط معلمة ORM البليغة وباني الاستعلام ، والتي تفلت تلقائيًا من المدخلات في معظم الحالات.
- إنه مفيد بشكل خاص عند استخدام استعلامات SQL الخام أو التعبيرات الخام ("Whereraw" ، "Selectraw`) ، والتي تكون أكثر خطورة بطبيعتها.
مثال الاستخدام
-بعد تثبيت حزمة البرامج الوسيطة (على سبيل المثال ، عبر "Composer تتطلب حماية/SQL-Query-Cremeter`) ، تقوم بنشر Config و Clear Cache.
- يمكنك تسجيل البرامج الوسيطة في `app/http/kernel.php` إما على مستوى العالم أو كمواد وسيطة.
- الطلبات الواردة بعد ذلك يتم تصفيتها بواسطة الوسيطة ، والتي تعشر المدخلات أو تمنع الاستعلامات الضارة قبل أن تصل إلى وحدات التحكم الخاصة بك أو طبقة قاعدة البيانات.
باختصار ، تعمل حزمة الأدوات الوسيطة لحقن SQL في Laravel كطبقة أمان استباقية تقوم بفحص وتطهير مدخلات المستخدم على مستوى طلب HTTP لمنع هجمات حقن SQL. إنه يعزز الحماية الأصلية ل Laravel من خلال استهداف الاستعلامات الأولية وأنماط الإدخال المشبوهة ، مما يوفر إمكانات التسجيل والحظر القابلة للتكوين لحماية التطبيق وقاعدة البيانات [3] [4] [5].
الاستشهادات:
[1] https://escape.tech/blog/laravel-sql injection-guide/
[2] https://www.stackhawk.com/blog/sql injection-prevention-laravel/
[3] https://github.com/aswinsasi/injection-protector
[4] https://gist.github.com/bewithdhanu/3acd9a44c74e9f2696a5e41692fa89a3
[5] https://acquaintsoft.com/answers/what-is-sql injection-protection-in-laravel
[6] https://stackoverflow.com/questions/15778572/preventing-sql injection-in-node-js
[7] https://cheatsheetseries.owasp.org/cheatsheets/laravel_cheat_sheet.html
[8] https://stackoverflow.com/questions/35439234/laravel-dependency injection-in-middleware