LIBRARY // Error Library

Error Library

Filter by language & difficulty — color is information: Easy · Medium · Hard

Reset
php LOGIC Hard

حقن SQL بسبب عدم استخدام Prepared Statements

دمج مدخل المستخدم مباشرة في استعلام SQL يفتح ثغرة حقن، حتى لو الكود يعمل ظاهرياً فهو غير آمن.

php LOGIC Hard

الخلط بين strlen و mb_strlen مع UTF-8

strlen يحسب البايتات لا الحروف، فالنص العربي "مرحبا" طوله 5 حروف لكن strlen يعطي 10 بايت، فيكسر منطق التحقق من الطول.

js LOGIC Easy

الخلط بين == و === في المقارنة

العامل == يحول الأنواع تلقائياً فيعتبر "5" == 5 صحيحة بينما === يقارن القيمة والنوع معاً. هذا يسبب منطق خاطئ عند التحقق من مدخلات المستخدم.

js LOGIC Easy

نسيان break في جملة switch

بدون break يستمر التنفيذ للحالة التالية (fall-through) فيُنفذ أكثر من كتلة دون قصد، فيُعطي نتيجة خاطئة.

js SYNTAX Easy

نسيان الأقواس عند استدعاء دالة

كتابة اسم الدالة بدون () ترجع مرجع الدالة لا نتيجتها، فيُطبع كود الدالة أو يُمرر كائن دالة بدل القيمة المتوقعة.

js LOGIC Easy

مقارنة NaN بشكل خاطئ

في JS قيمة NaN لا تساوي نفسها (NaN === NaN تعطي false). المقارنة المباشرة تفشل دائماً ويجب استخدام isNaN أو Number.isNaN.

js LOGIC Easy

نسيان return في arrow function ذات أقواس

السهم بدون أقواس يرجع تلقائياً، لكن مع {} يجب كتابة return صراحة وإلا ترجع undefined.

js LOGIC Easy

استخدام typeof للتحقق من مصفوفة

typeof [] يعطي "object" وليس "array"، فالتحقق به يفشل. يجب استخدام Array.isArray.

js SYNTAX Easy

نسيان الفاصلة بين خصائص كائن

خصائص الكائن تفصل بفاصلة، نسيانها يسبب SyntaxError: Unexpected identifier.

js RUNTIME Medium

الوصول لخاصية على undefined

قراءة خاصية من قيمة null أو undefined تطلق TypeError: Cannot read properties of undefined. يحدث عند عدم التحقق من وجود الكائن.

js LOGIC Medium

نسيان await في استدعاء دالة async

استدعاء دالة async بدون await يرجع Promise لا القيمة، فالمتغير يحوي كائن Promise ويُستخدم كقيمة فيُعطي [object Promise].

js LOGIC Medium

فقدان سياق this في setTimeout

داخل setTimeout الدالة العادية تفقد this فيشير لـ window بدل الكائن، فيُرجع undefined.