التحقق من الرفع
هل يقبل نموذج الرفع عندي ما يجب قبوله ويرفض الباقي؟
يبني الإعداد المسبق upload-validation بأمر واحد مجموعة كاملة من ملفات الاختبار الحقيقية لهذا
السؤال، وبجانبها manifest.json يحدد كيف يجب أن يتفاعل نظامك مع كل ملف. كل ما يلي
مقروء من البرنامج، عند القيم الافتراضية لهذا الإصدار.
ماذا يكتشف عادةً؟
- حد يُطبَّق في المتصفح لا على الخادم
- ملف SVG أو HTML يُؤخذ على أنه صورة أو نص عادي، وهي طريقة لتمرير سكربت عبر نموذج
- ملف يُفحص بامتداده ولا يُفتح أبدًا، فيمر ملف PDF اسمه .jpg
- نموذج يقرأ الجسم كله في الذاكرة قبل أن ينظر كم حجمه
- رفع باسم PHOTO.JPG يُرفض بينما يُقبل photo.jpg، أو العكس
- اسم فيه مسافات أو أقواس أو أحرف خارج ASCII يُكتب على القرص دون تغيير
ماذا في المجموعة؟
عند القيم الافتراضية، كما يبلّغ tfg preset show upload-validation:
| الملفات | 71 |
|---|---|
| الأهداف في وصفته | 22 |
| الحجم الإجمالي | 120 639 488 B |
| الصيغ | html, jpg, pdf, png, svg, txt |
وما يتوقعه بيان تلك المجموعة من نظامك:
| المتوقع | المعنى | الملفات |
|---|---|---|
accept | ينبغي أن يقبل نظامك الملف. | 56 |
reject | ينبغي أن يرفض نظامك الملف. | 10 |
unspecified | يعتمد على قواعد نظامك. أنت من يقرر، ثم تتحقق من أن ما يحدث هو ما قصدته. | 5 |
ما الذي يمكنك تغييره؟
| الإعداد | يقبل | الافتراضي | ما يفعله |
|---|---|---|---|
--limit |
حجم مثل 2mb | 10mb |
حد الحجم الذي يعلنه نموذج الرفع عندك. تأخذ هذه المجموعة خطوة واحدة على كل جانب منه، ولملف عند كل مسافة شغّل الإعداد المسبق size-boundaries. هذه القيمة الافتراضية مؤقتة منا، وليست قيمة نظامك. مرّر قيمتك أنت. |
--allow |
معرّفات صيغ مفصولة بفواصل | jpg,png,pdf |
الأنواع التي يجب أن يقبلها نموذجك. يصير كل نوع ملفًا حقيقيًا من ذلك النوع، وتشكّل الشاهد الإيجابي للمجموعة كلها. |
--deny |
امتدادات مفصولة بفواصل | svg,html,exe,sh |
الامتدادات التي يجب أن يرفضها نموذجك. الامتداد الذي لا صيغة له في هذا الإصدار يحصل مع ذلك على ملف بهذا الاسم يحتوي نصًا عاديًا. |
--far-over |
10x, 2x, off | 2x |
إلى أي مدى يتجاوز الملف الكبير الوحيد الحد. أوقفه حيث لا يستحق كتابة أضعاف الحد مساحة القرص. |
--bulk |
0 - 10000 ملفات | 50 |
عدد الملفات في الرفع الجماعي. الصفر يُخرج هذه المجموعة من المجموعة كليًا. |
كيف تشغّله؟
اطّلع على كلفة المجموعة، أو ابنِها، أو خذ وصفتها لتعدّلها:
tfg preset show upload-validation
tfg generate --preset upload-validation --limit 10mb --out ./upload-validation
tfg preset eject upload-validation > upload-validation.yaml
أو ابنِ عليه في وصفة خاصة بك، بجانب اختباراتك:
version: 1
extends: preset:upload-validation
with:
limit: 10mb