Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ما هي الوظائف المحددة في حزمة Spatie في منع حقن SQL


ما هي الوظائف المحددة في حزمة Spatie في منع حقن SQL


تساعد حزمة Spatie for Laravel في منع حقن SQL بشكل أساسي من خلال استخدامها لطرق بناء الاستعلام الآمنة وآليات التصفية التي تتجنب تضمين إدخال المستخدم مباشرة في استعلامات SQL الخام. تشمل الوظائف والميزات الرئيسية في حزمة المكافور التي تساعد في منع حقن SQL:

- طريقة المرشحات المسموح بها (): تتيح لك هذه الوظيفة تحديد المرشحات المسموح بها في الاستعلام ، معلمات استعلام مقبولة بشكل فعال. من خلال تقييد المرشحات على تلك المسموح بها بشكل صريح فقط ، فإنه يمنع المهاجمين من حقن SQL الضار من خلال معلمات استعلام غير متوقعة أو غير آمنة [2].

- استخدام منشئ الاستعلام في Laravel و ORM البليغ: تعزز حزمة spatie منشئ الاستعلام عن Laravel و ORM البليغة ، والتي تستخدم استعلامات معلمة وبيانات معدة داخليًا. تربط هذه الآليات تلقائيًا مدخلات المستخدم كمعلمات بدلاً من تسلسلها في سلاسل SQL الخام ، وبالتالي منع هجمات الحقن [1] [4].

- تجنب وظائف SQL RAW غير الآمنة: تشجع الحزمة على تجنب استعلامات SQL الخام التي تتنازل مباشرة عن إدخال المستخدم. بدلاً من ذلك ، فإنه يعزز استخدام تجريدات آمنة مثل المرشحات والنطاقات التي تقوم بتطهير المدخلات والتحقق منها قبل أن تصل إلى طبقة الاستعلام [2] [3].

باختصار ، تساعد حزمة Spatie الوقاية من حقن SQL من خلال توفير لغة أكثر أمانًا للمجال (DSL) للتصفية والاستعلام التي تعتمد على منشئ الاستعلام الآمن في Laravel. وظائفها المحددة مثل "المرشحات المسموح بها ()" تساعد المدخلات البيضاء ، مما يضمن استخدام المعلمات الآمنة والتحقق من صحتها فقط في الاستعلامات ، وبالتالي تخفيف مخاطر حقن SQL بفعالية [2].

الاستشهادات:
[1] https://escape.tech/blog/laravel-sql injection-guide/
[2] https://www.reddit.com/r/laravel/comments/bbxhoc/unsafe_sql_functions_beb
[3] https://stitcher.io/blog/unsafe-sql-functions-in-laravel
[4]
[5] https://www.baeldung.com/sql injection
[6] https://stackoverflow.com/questions/60174/how-can-i-prevent-sql injection-in-php
[7] https://stackoverflow.com/questions/1862036/how-do-i-protect-tis-function-from-sql injection
[8] https://cheatsheetseries.owasp.org/cheatsheets/sql_injection_prevention_cheat_sheet.html