انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهJNR-019-L06

الترتيب وحدود أمانه

  • الدرس 6 من 8
  • Junior
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

allow sorting without opening a hole.

الموضوعات المخطط لها

  • Format: ?sort=price,desc. Default to a stable sort such as id.
  • Accept only an allow-list of fields: name, price, createdAt.
  • Never put the user's text into a query or column name; with a database that is SQL injection.
  • Unknown field gives 400 with a clear message.
  • Always add a tie-breaker (id) so pages do not repeat or skip items.
تفاصيل المخطط المبدئي

عرض عملي

java
private static final Set<String> SORTABLE = Set.of("name", "price", "createdAt");
if (!SORTABLE.contains(field)) throw new BadRequestException("Cannot sort by " + field);

اختبر فهمك

Why an allow-list?

أظهر الإجابة

Users must not choose arbitrary fields or columns.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.