การตรวจสอบการอัปโหลด
ฟอร์มอัปโหลดของฉันรับสิ่งที่ควรรับและปฏิเสธที่เหลือหรือไม่
พรีเซ็ต upload-validation สร้างชุดไฟล์ทดสอบจริงทั้งชุดสำหรับคำถามนี้ด้วยคำสั่งเดียว และมี
manifest.json อยู่ข้างๆ ที่บอกว่าระบบของคุณควรตอบสนองต่อแต่ละไฟล์อย่างไร
ทุกอย่างด้านล่างอ่านจากโปรแกรม ที่ค่าเริ่มต้นของเวอร์ชันนี้
โดยทั่วไปมันพบอะไร
- ขีดจำกัดที่บังคับใช้ในเบราว์เซอร์แต่ไม่ได้บังคับที่เซิร์ฟเวอร์
- ไฟล์ SVG หรือ HTML ที่ถูกเข้าใจว่าเป็นรูปภาพหรือข้อความธรรมดา ซึ่งเป็นวิธีหนึ่งในการลอบส่งสคริปต์ผ่านฟอร์ม
- ไฟล์ที่ตรวจจากนามสกุลโดยไม่เคยเปิดดู ทำให้ PDF ที่ตั้งชื่อ .jpg ผ่านไปได้
- ฟอร์มที่อ่านเนื้อหาทั้งหมดเข้าหน่วยความจำก่อนจะดูว่าใหญ่แค่ไหน
- การอัปโหลดชื่อ PHOTO.JPG ที่ถูกปฏิเสธขณะที่ photo.jpg ถูกรับ หรือกลับกัน
- ชื่อที่มีช่องว่าง วงเล็บ หรืออักขระนอก ASCII ที่ถูกเขียนลงดิสก์โดยไม่เปลี่ยนแปลง
ในชุดมีอะไร
ที่ค่าเริ่มต้น ตามที่ tfg preset show upload-validation รายงาน:
| ไฟล์ | 71 |
|---|---|
| target ในสูตรของมัน | 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