Validasi unggahan
Apakah formulir unggah saya menerima yang seharusnya dan menolak sisanya?
Preset upload-validation membuat satu set lengkap file uji asli untuk pertanyaan ini dengan
satu perintah, dan manifest.json di sampingnya yang menyatakan bagaimana sistem Anda
harus bereaksi terhadap tiap file. Semua di bawah dibaca dari program, pada nilai bawaan versi
ini.
Apa yang biasanya ditemukan?
- batas yang ditegakkan di browser dan tidak di server
- file SVG atau HTML yang dikira gambar atau teks biasa, yang merupakan cara meloloskan skrip lewat formulir
- file yang diperiksa dari ekstensinya dan tak pernah dibuka, sehingga PDF bernama .jpg lolos
- formulir yang membaca seluruh isi ke memori sebelum melihat seberapa besar isinya
- unggahan bernama PHOTO.JPG yang ditolak sementara photo.jpg diterima, atau sebaliknya
- nama dengan spasi, tanda kurung, atau karakter di luar ASCII yang ditulis ke disk tanpa perubahan
Apa isi set?
Pada nilai bawaan, seperti yang dilaporkan tfg preset show upload-validation:
| File | 71 |
|---|---|
| Target dalam resepnya | 22 |
| Ukuran total | 120 639 488 B |
| Format | html, jpg, pdf, png, svg, txt |
Dan apa yang diharapkan manifes set itu dari sistem Anda:
| Diharapkan | Arti | File |
|---|---|---|
accept | Sistem Anda harus menerima file ini. | 56 |
reject | Sistem Anda harus menolak file ini. | 10 |
unspecified | Tergantung pada aturan sistem Anda. Anda yang memutuskan, lalu memeriksa apakah yang terjadi sesuai maksud Anda. | 5 |
Apa yang dapat Anda ubah?
| Pengaturan | Menerima | Bawaan | Fungsinya |
|---|---|---|---|
--limit |
ukuran seperti 2mb | 10mb |
Batas ukuran yang dinyatakan formulir unggah Anda. Set ini mengambil satu langkah di tiap sisinya - untuk file di setiap jarak, jalankan preset size-boundaries. Nilai bawaan ini adalah nilai sementara dari kami, bukan nilai sistem Anda. Berikan nilai Anda sendiri. |
--allow |
id format dipisahkan koma | jpg,png,pdf |
Tipe apa yang seharusnya diterima formulir Anda. Masing-masing menjadi file asli bertipe itu, dan menjadi kontrol positif bagi seluruh set. |
--deny |
ekstensi dipisahkan koma | svg,html,exe,sh |
Ekstensi apa yang seharusnya ditolak formulir Anda. Ekstensi yang tidak punya format di build ini tetap mendapat file bernama itu, berisi teks biasa. |
--far-over |
10x, 2x, off | 2x |
Seberapa jauh di atas batas file besar tunggal itu. Matikan bila menulis beberapa kali batas tidak sepadan dengan disknya. |
--bulk |
0 - 10000 file | 50 |
Berapa banyak file dalam unggahan massal. Nol membuang kelompok itu dari set sepenuhnya. |
Bagaimana menjalankannya?
Lihat biaya set, buat, atau ambil resepnya untuk disunting:
tfg preset show upload-validation
tfg generate --preset upload-validation --limit 10mb --out ./upload-validation
tfg preset eject upload-validation > upload-validation.yaml
Atau bangun di atasnya dalam resep Anda sendiri, di samping pengujian Anda:
version: 1
extends: preset:upload-validation
with:
limit: 10mb