개발! 딱 깔끔하고 센스있게!

PHP 파일 업로드 : MIME 또는 확장 기반 검증? 본문

개발 스크랩 메모/PHP

PHP 파일 업로드 : MIME 또는 확장 기반 검증?

렉사이 2020. 11. 20. 16:15

파일을 다운로드할 때 파일의 mime 형식이나 파일 확장 이름으로 인증해야 합니까?

이 두 가지 서류 검증 방법의 장단점은 무엇입니까?

그리고 다른 안전 문제를 걱정해야 합니까?

그동안 나는 mime 유형에 의존했지만 이 글에서 답은 가장 지지율이 있다.

php 파일 업로드 설명:

Never rely on the MIME type submitted by the browser!

대답

그래, 그렇다면 모든 요정들에게 ‘나사 연장, 마임을 검사!파일 정보 RLZ!]나는 약간의 교정을 준비했다.

  1. Download this pretty php logo I drew
  2. View it. Pretty nice, isn't it?
  3. Rename it to whatever_you_like.php
  4. Put it through all your awesome mime type/whatever checkers
  5. Run it

어쨌든, 너는 영원히 mime 타입에 의존해서는 안 된다.

당신의 웹 서버는 mime 유형에 관심이 없습니다.

확장을 통해 무엇을 결정해야 할지 결정됩니다.

결국 부결된 @col.shranpel 의 답은 사실상 옳습니다.

Mimime에서 제공하는 정보를 실행할 때 웹 서버와 전혀 무관합니다.

편집: 이러한 공격을 위해 웹 사이트를 열기 위한 일반 코드:

Comments