안녕하세요.
이미지 리사이즈 애드온을 제작하는 도중 질문드릴 점이 있어 글 남깁니다.
대상이 된 웹사이트에는 업로드 되는 이미지들의 사이즈가 매우 크고, 개수도 만만치 않습니다.
이러한 상황에서, 서버단에서 리사이즈 작업을 진행한다면 부하가 심하리라고 생각되어 몇가지 방법을 생각했는데,
그 중 하나가 브라우저에서 이미지 가공을 완료한 뒤 DataURI 값을 AJAX로 서버에 전달하는 방식입니다.
전달받은 DataURI는 서버에서 디코딩하여 기존 첨부된 이미지에 덮어씌우고요.
위 방식대로 제작은 해 두었으나, 보안문제가 있을까 싶어 실사용은 꺼리고 있는 중입니다.
혹시 이러한 방법이 보안에 위험한 방법일까요?
만약 그렇다면, DataURI 값을 전달할때, 서버단에서는 어떠한 검증작업을 하여 위험을 방지할 수 있을까요?
일반 파일 업로드와 동일하게 저장하고, 서버단에서 base64 decode 외에는 별다른 처리를 거치지 않는다는 가정 하에 보안상 차이는 없습니다. 파일을 그대로 보내든 data URI로 보내든 클라이언트단에서 보내주는 데이터를 신뢰할 수 없는 것은 마찬가지니까요.
그런데 서버에서 거대한 문자열을 받아서 디코딩하나... 그냥 gd나 imagemagick으로 리사이즈하나... 서버 쪽에서 어느 정도 부하가 걸리는 것을 막을 수는 없을 듯 한데요. 불필요하게 복잡하게 생각하시는 거 아닌가 싶어요.
업로드되는 이미지 사이즈가 크고 갯수가 많다는 것이 어느 정도를 뜻하시는 건가요? 20MB짜리 이미지 하루에 1만 개? 정도라면 웬만한 서버에서는 전혀 문제가 되지 않을 것 같거든요. 많다는 기준이 사람마다 제각각이라...