콘텐츠로 건너뛰기

📁 테스트 파일 목록

업로드 기능 검증, 경계값 테스트, 오류 처리 확인용 더미 파일을 제공합니다. 모든 파일 무료, 가입 불필요. MD5 / SHA-256 해시와 curl / wget / PowerShell 다운로드 명령도 제공합니다.

포맷별

용도별

📌 모든 테스트 파일에 포함

  • ✅ 바이트 단위 정확한 크기 보장
  • ✅ MD5 / SHA-256 해시 값 명시
  • ✅ curl / wget / PowerShell 명령 예시
  • ✅ 직접 링크 배포(CDN / 빠른 다운로드)

관련 참조

📖 자주 걸리는 지점

업로드 한도와 파일 처리 검증에 쓰는, 내용을 알고 있는 더미 파일입니다. 가입 없이 바로 다운로드할 수 있고 MD5 / SHA-256 과 curl 명령을 함께 적어 두었습니다. 다만 이 파일이 통과했다고 해서 안전하다는 증명은 되지 않습니다. 여기서 확인할 수 있는 것은 크기와 형식의 취급까지이며, 확장자 위장·ZIP 폭탄·잘못된 내부 구조에 대한 내성은 따로 검증해야 합니다.

사례 무슨 일이 일어나는가 어떻게 하면 되는가
10 MB 인데 10 MB 로 도착하지 않는다 multipart/form-data 는 경계 문자열과 헤더가 붙으므로 요청이 수백 바이트 커집니다. JSON 에 base64 로 넣으면 약 33% 늘어납니다. 경계를 시험하려면 임계값 파일 의 9.9 / 10.0 / 10.1 MB 를 쓰세요. base64 를 거친다면 실효 한도는 약 3/4 로 잡습니다.
브라우저에서는 통과하는데 서버에서 거부된다 한도는 한 곳이 아닙니다. nginx 의 client_max_body_size, PHP 의 upload_max_filesizepost_max_size, 그리고 애플리케이션 검증이 각각 독립적으로 걸립니다. 가장 작은 값이 실효 한도입니다. post_max_sizeupload_max_filesize 이상으로, 여러 파일이면 합계를 감안해 설정합니다.
확장자로 판정해 위장을 통과시킨다 .png 로 이름만 바꾼 실행 파일은 확장자 검사도 Content-Type 검사도 그냥 통과합니다. 둘 다 보내는 쪽이 마음대로 쓸 수 있는 값이기 때문입니다. 선두 바이트 (매직 바이트) 로 판정하세요. PNG 는 89 50 4E 47, PDF 는 25 50 44 46, ZIP 은 50 4B 03 04. 전체 표는 매직 바이트 표.
크기는 충분한데 타임아웃된다 한도에 걸리지 않아도 회선이 느리면 전송에 시간이 걸립니다. 끊는 것은 크기 제한이 아니라 시간 제한 쪽입니다. nginx 의 client_body_timeoutfastcgi_read_timeout, PHP 의 max_execution_timemax_input_time함께 올립니다. 하나만 올려도 가장 짧은 곳에서 끊깁니다.
깨진 파일이 온다는 전제가 없다 통신 끊김이나 전송 오류로, 중간에 잘린 파일이나 헤더가 깨진 파일은 실운영에서 흔히 도착합니다. 많은 구현이 거기서 예외를 던지고 그대로 삼킵니다. 깨진 파일을 먼저 흘려보내고, 사용자에게 도달하는 오류 메시지가 되어 있는지까지 확인합니다.

여기 있는 파일이 모두 통과해도 바이러스 검사 결과, 동시 업로드 시 디스크 고갈, 오브젝트 스토리지 쪽 한도는 별개의 이야기입니다. 한도까지 받을 수 있다는 것과 받아도 된다는 것은 다릅니다.