exif를 제거하고 PHP_EXIF 애드온으로 exif 보여주는 방법이 있을까요?
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
제가 요며칠 갤러리 게시판을 구성하고자
PHP_EXIF 애드온을 설치했습니다.
https://xetown.com/download/1772034
이미지 프로세스 모듈 관리에서는 imagick을 사용으로 하고
파일관리에서는 exif 제거를 선택했습니다.
이렇게 하고 업로드를 해보니 첨부된 이미지의 용량이 확연하게 줄어들기는 하는데요.
exif 정보는 위의 스샷처럼 exif를 제거하였기에 안 나옵니다.
검색을 해보니 exif를 제거하는 대부분의 이유가 용량을 줄이기 위해서 많이들 사용하던데요.
예전에 어느글인가에서 본 거 같은데 제거한 exif를 php를 활용하여 PHP_EXIF 애드온으로 보여줄 수 있다고 들었습니다.
지금 다시 검색해보니 해당 글이 안보이는데 알고 계신 분 계실까요?
아래는 제가 이미지 프로세스 모듈 관리에서 선택한 옵션입니다.
성운시연
Lv. 5
댓글 9
한 번 삭제한 데이터를 보여줄 수는 없습니다. 애드온 따위로 복구할 수 있다면 exif를 제거하는 의미가 없겠지요. 앞으로라도 보여주고 싶다면 exif를 제거하는 기능을 모두 끄셔야 합니다. 단, 코어에서 이미지 크기나 회전 수정이 들어갈 경우, 변환 과정에서 exif 정보가 유실될 수 있습니다. 따라서 exif 제거 기능을 끄더라도 그대로 남아 있다는 보장은 없습니다. 이미지프로세스 모듈은 어떤 방식으로 작동하는지 모르겠네요.
exif가 차지하는 용량은 얼마 안 됩니다. 많은 사이트에서 이것을 제거하는 이유는 촬영한 위치의 GPS 좌표, 자르거나 편집하기 전의 원본 썸네일 등 개인정보가 노출될 수 있는 정보가 포함되어 있기 때문입니다. (어설픈 테러범이 좌표 찍힌 사진을 SNS에 올렸다가 폭격을 당한 사례도 있고, 유명 연예인이 사진 일부만 잘라서 올렸다가 원본 썸네일이 노출되어 곤혹을 치른 적도 있지요.) 물론 사진 동호회 같은 곳에서는 촬영한 위치, 카메라 기종, 사용한 렌즈, 노출시간 등을 인증하기 위해 일부러 exif를 보여주는 경우도 있습니다.
과거 1.6 버전에서는 그런 기능이 있었습니다.
이미지프로세스 모듈에서 프레세싱할때 미리 exif를 DB에 저장하고 애드온에서 뽑아서 보여주는 기능이었습니다.
문제는
1. 이미지프로세스의 거의 모든 기능이 코어에서 지원을 하고 있습니다.
일부 몇가지 특별한 기능은 아마 수요가 거의 없을 것같습니다.
2. EXIF 데이터를 추출하는 기능은 imagick extension을 사용할때 가능한 기능인데
php8.0에서 겨우 동작하기는 하지만 PHP 7.X에서는 메모리누수가 너무 심해서 거의 작동이 불가능합니다.
해서 php_exif 2.0에서는 제거했습니다.
궂이 사용을 하시겠다면 1.6X버전을 받아서 수정해서 사용하셔야할겁니다.
파일에서는 exif를 날리고 DB에 별도 저장해 둔 데이터 중 사이트에서 필요한 것만 활용한다면, GPS 좌표나 썸네일 등 민감한 정보가 노출될 위험도 줄일 수 있을 것 같습니다.
이미지프로세스 모듈에서만 생각하고 있었네요...ㅎㅎ
애드온에서 화일 업로드시 미리 추출하고 저장한 다음 신경 끄는 것이 좋을 듯합니다.
그런데 애드온에서 테이블 생성이 가능할까요?
테이블 생성만 가능하다면 애드온 단독으로도 가능할 것같습니다.
스키마 xml 파일만 있으면 어떻게든 강제로 생성할 수는 있는데,
테이블 생성이 필요할 정도라면 그냥 모듈로 전환하시는 것을 추천합니다.
모듈 생성기를 사용해서 기본 구조 다 잡힌 모듈 뼈대를 가져와서 필요한 트리거를 추가한 후,
애드온 코드를 그대로 이식하면 되니까요.
라이믹스 입장에서 모든 애드온은 언젠가 퇴출 대상이라고 보고 있습니다.^^
모듈 개발을 애드온처럼 쉽게 만드는 것이 목표입니다.