한국어

이미지 및 사진 · 이미지 메타데이터 개인정보 보호 도구

브라우저가 업로드하지 않고 JPEG에서 EXIF를 읽는 방법

· 작동 방식

엑시프 이미지 개인정보 보호 브라우저 처리 중 파일 형식

하나의 브라우저 내에서 로컬 바이트, JPEG 세그먼트 및 읽을 수 있는 EXIF 필드가 되는 사진
원본 ToolAcre 벡터 일러스트레이션

페이지에 JPEG을 삭제하고 해당 메타데이터를 확인하는 사이에 실제로 어떤 일이 발생하는지에 대한 안내입니다. 바이트는 로컬에서 읽히고, APP1 세그먼트를 찾고, 그 안의 TIFF 디렉터리는 서버 없이 JavaScript로 디코딩됩니다.

테스트할 주장: '아무 것도 업로드되지 않았습니다' — 메타데이터 검사기가 이미 가지고 있는 바이트만 읽어야 하는 이유와 탭에서 나가는 요청이 없는지 확인하는 방법

사진이 업로드되지 않았다는 주장은 장식용이라기보다는 테스트용입니다. 이 도구는 선택한 파일을 ArrayBuffer로 읽어서 바이트로 변환하고 해당 바이트를 메타데이터 판독기에 직접 전달합니다. 개인 정보 보호 정책은 약속을 신중하게 제한합니다. 사진은 브라우저 탭에서 구문 분석되고, 사본은 저장되지 않으며, 공개된 분석 요청은 파일을 처리하는 코드 경로와 별개입니다.

File API를 사용하여 로컬에서 파일 읽기 — 장치에서 바이트를 남기지 않고 브라우저가 도구에 사진의 ArrayBuffer를 전달하는 방법

파일 선택기는 브라우저 File 객체를 제공하고 file.arrayBuffer()는 해당 콘텐츠를 페이지에서 이미 실행 중인 JavaScript에 사용할 수 있도록 만듭니다. ToolAcre는 50 MB 한도를 적용한 다음 바이트 자체에서 JPEG, PNG 또는 WebP을 식별합니다. 이 로컬 읽기에는 양식 제출이나 이미지 업로드 엔드포인트가 필요하지 않으며, 네트워크 격리 테스트는 요청을 기록하지 않고 지원되는 세 가지 형식을 모두 실행합니다.

APP1 세그먼트 찾기 — SOI에서 'Exif' 헤더까지 JPEG 마커를 이동하고 대신 ICC 또는 XMP가 포함된 세그먼트 건너뛰기

JPEG의 경우 리더는 이미지 시작 마커 이후부터 시작하여 스캔 시작 마커까지 마커 세그먼트를 탐색합니다. Exif로 시작하는 APP1 페이로드를 인식하고 이를 구문 분석하는 반면, XMP는 제거용으로만 감지되고 ICC는 의도적으로 렌더링 데이터로 유지됩니다. 스캔 마커 이후의 모든 내용은 EXIF ​​보고서가 아닌 압축된 사진 경로에 속합니다.

TIFF 헤더 및 IFD 디코딩 - 바이트 순서(II 또는 MM), IFD0에 대한 오프셋, Exif 및 GPS 하위 디렉터리를 가리키는 12바이트 항목

EXIF 페이로드에는 TIFF 블록이 포함되어 있습니다. 파서는 II 또는 MM 바이트 순서 마커를 읽고 TIFF 매직 값을 확인한 다음 IFD0에 대한 오프셋을 따릅니다. 각 디렉토리 항목은 태그, 유형, 개수 및 인라인 값이나 오프셋을 제공합니다. IFD0부터 코드는 Exif 및 GPS 하위 디렉터리 포인터만 따르므로 가능한 모든 개인 구조를 추적하는 대신 순회를 제한적으로 유지합니다.

원시 태그 값을 읽을 수 있는 필드로 전환 — 태그 ID, 데이터 유형, 유리수 및 ASCII 문자열, 일부 값에 조회 테이블이 필요한 이유

원시 값은 해당 유형과 태그가 해석된 후에만 유용해집니다. ASCII 필드는 문자열이 되고, 숫자 유형은 TIFF 바이트 순서를 사용하며, 유리수 쌍은 분자와 분모를 읽은 후 숫자가 됩니다. 태그 사전은 카메라 제조업체, 모델, 타임스탬프, 소프트웨어, 일련 필드 및 GPS 값에 라벨을 붙인 다음 덜 민감한 기술 필드보다 먼저 위치와 장치 ID를 분류합니다.

작업된 예: 메인 스레드에서 구문 분석된 전화 사진

통합 문서에서는 이 예제가 웹 작업자에서 실행되는 것으로 설명했지만 제공된 패널에서는 file.arrayBuffer()를 기다린 후 바로 readMetadata를 호출합니다. 이 경로에는 작업자가 참여하지 않습니다. 따라서 선택된 전화 JPEG는 페이지 기본 스레드에서 읽고 구문 분석된 후 위도와 경도가 숫자로 인쇄되고 전체 필드 테이블이 렌더링됩니다. 현지 처리와 작업자 처리는 서로 다른 청구이므로 수정이 중요합니다.

여기서 다루지 않는 내용 — MakerNote 내부, RAW 형식, HEIC 및 비디오 컨테이너는 이 연습 및 도구 외부에 있습니다.

독자가 의도적으로 불완전합니다. MakerNote 내부, IFD1 썸네일 필드, JPEG XMP 콘텐츠 또는 지원되지 않는 RAW, HEIC, AVIF, TIFF, GIF 및 SVG 컨테이너는 디코딩하지 않습니다. 손상된 EXIF ​​세그먼트는 건너뛰므로 나중에 제거를 차단할 수 없습니다. 빈 보고서는 제한된 파서가 읽을 수 있는 필드를 찾지 못했다는 의미일 뿐, 가능한 모든 정보 채널이 없다는 의미는 아닙니다.

요약: 메타데이터 읽기는 로컬, 바이트 수준 작업입니다. Image Metadata Privacy Tool이 정확하게 이 작업을 수행하므로 서버를 신뢰하지 않고도 공유하기 전에 검사할 수 있습니다.

메타데이터 읽기는 구현이 탭에서 선택한 바이트를 유지하고 이에 대한 요청을 수행하지 않을 때 로컬 바이트 수준 작업입니다. 보고서를 사용하여 이 파서가 볼 수 있는 내용을 식별한 다음 정리된 복사본이 필요할 때 별도의 제거 작업을 사용하십시오. 검사는 원본 사진을 결코 변경하지 않으며 소스 코드와 네트워크 격리 테스트는 일반 브라우저 처리 배지보다 더 강력한 증거를 제공합니다.