Kiểm tra tải lên
Biểu mẫu tải lên của tôi có nhận đúng thứ nó cần và từ chối phần còn lại không?
Preset upload-validation dựng bằng một lệnh cả một bộ tệp kiểm thử thật cho câu hỏi này, kèm
một manifest.json bên cạnh nêu cách hệ thống của bạn cần phản ứng với từng tệp. Mọi
thứ bên dưới được đọc từ chương trình, ở các giá trị mặc định của phiên bản này.
Nó thường tìm thấy gì?
- giới hạn được áp dụng ở trình duyệt chứ không phải ở máy chủ
- tệp SVG hoặc HTML bị tưởng là ảnh hay văn bản thuần, một cách để lách tập lệnh qua biểu mẫu
- tệp chỉ được kiểm bằng phần mở rộng mà không bao giờ mở, nên PDF đặt tên .jpg vẫn qua
- biểu mẫu đọc cả phần thân vào bộ nhớ trước khi xem nó lớn đến đâu
- lần tải lên tên PHOTO.JPG bị từ chối trong khi photo.jpg được nhận, hoặc ngược lại
- tên có dấu cách, ngoặc hoặc ký tự ngoài ASCII được ghi xuống đĩa không thay đổi
Trong bộ có gì?
Ở các giá trị mặc định, như tfg preset show upload-validation báo cáo:
| Tệp | 71 |
|---|---|
| Target trong công thức của nó | 22 |
| Tổng kích thước | 120 639 488 B |
| Định dạng | html, jpg, pdf, png, svg, txt |
Và điều manifest của bộ đó mong đợi từ hệ thống của bạn:
| Mong đợi | Ý nghĩa | Tệp |
|---|---|---|
accept | Hệ thống của bạn nên nhận tệp. | 56 |
reject | Hệ thống của bạn nên từ chối tệp. | 10 |
unspecified | Tùy vào quy tắc của hệ thống bạn. Bạn quyết định, rồi kiểm tra điều xảy ra có đúng ý bạn không. | 5 |
Bạn có thể đổi gì?
| Thiết lập | Nhận | Mặc định | Tác dụng |
|---|---|---|---|
--limit |
kích thước như 2mb | 10mb |
Giới hạn kích thước mà biểu mẫu tải lên của bạn khai báo. Bộ này đi một bước về mỗi phía - muốn tệp ở mọi khoảng cách, hãy chạy preset size-boundaries. Giá trị mặc định này là giá trị tạm của chúng tôi, không phải giá trị của hệ thống bạn. Hãy truyền giá trị của riêng bạn. |
--allow |
các id định dạng cách nhau bằng dấu phẩy | jpg,png,pdf |
Biểu mẫu của bạn nên chấp nhận những loại nào. Mỗi loại trở thành một tệp thật thuộc loại đó, và chúng là đối chứng dương của cả bộ. |
--deny |
các phần mở rộng cách nhau bằng dấu phẩy | svg,html,exe,sh |
Biểu mẫu của bạn nên từ chối những phần mở rộng nào. Phần mở rộng mà bản dựng này không có định dạng vẫn nhận một tệp mang tên đó, chứa văn bản thuần. |
--far-over |
10x, 2x, off | 2x |
Tệp lớn duy nhất vượt giới hạn bao xa. Tắt đi nếu ghi gấp nhiều lần giới hạn không đáng với dung lượng đĩa. |
--bulk |
0 - 10000 tệp | 50 |
Số tệp trong lần tải lên hàng loạt. Bằng không thì bỏ hẳn nhóm đó khỏi bộ. |
Chạy nó thế nào?
Xem bộ sẽ tốn bao nhiêu, dựng nó, hoặc lấy công thức của nó để chỉnh sửa:
tfg preset show upload-validation
tfg generate --preset upload-validation --limit 10mb --out ./upload-validation
tfg preset eject upload-validation > upload-validation.yaml
Hoặc xây trên nó trong công thức của riêng bạn, bên cạnh các bài kiểm thử:
version: 1
extends: preset:upload-validation
with:
limit: 10mb