기술적으로 마우스 오른쪽 클릭을 막는 건 자바스크립트를 비활성화시키거나 여러 가지 방법으로 우회할 수 있는 방법이 많다. 제일 무식한 방법으로는 페이지의 모든 구성요소에 드래그와 마우스 오른쪽 클릭을 막는 경우인데, 개인적으로 줄 간격을 엉망으로 지정해놓은 빽빽한 사이트에서는 지금 시선이 닿는 부분을 드래그해놓으면서 보는 습관이 있어서 굉장히 불쾌한 경우가 많다.

불쾌한 기분을 남겨주는 쪽보다는 실제로 마우스 오른쪽 클릭을 해서 이미지를 저장하려는 사람에게만 어떤 메시지를 전달해보는 건 어떨까? 물론 오른쪽 클릭을 할 때 alert("이렇게 살면 안돼요!"); 같은 식으로 하는 쪽보다는 더 우아한 방법으로 말이다.

예시

구현과 한계점

소스 코드를 확인해보면 어렵지 않게 구현이 되어 있는 것을 알 수 있다. 엘리먼트의 배경에다가 원본 이미지를 배치하는 방법은 img 태그를 사용해서 로고를 배치했을 때 생기는 불편함을 해결하기도 하지만, 오른쪽 클릭을 통해 저장을 방지하기 위해서 트위터나 플리커 같은 서비스에서 사용하기도 한다. 하지만 여기서는 투명도를 낮게 만든 이미지로 실제로 이미지를 저장하는 느낌을 주도록 하는 것이 포인트이다.

여기서는 CSS에 원본 이미지의 경로가 하드코딩되어 있지만, CSS 파일을 분리해내거나 JS를 통해 동적으로 이미지의 경로를 불러와 엘리먼트의 배경 이미지로 삽입한다면 소스 보기를 통해서 원본 이미지의 경로를 보일 일이 없다.

물론 이 방법에도 한계가 있을 수밖에 없다. 와이어샤크나 브라우저의 개발자 도구에 있는 네트워크 모니터링 툴을 쓰거나, 캐싱 파일을 뒤적거려보면 또한 어렵지 않게 원본 주소를 알아낼 수 있을 것이다. 만약 여러분들이 이미지와 같은 컨텐츠의 저작권을 가지고 있는 사람이고, 이런 방법으로 항의해보아도 소용이 없거나 직접적으로 금전적 피해가 발생해버릴 수 있다면, 아무래도 법대로 하는 것이 가장 좋은 방법일 수밖에 없다. 레진코믹스처럼 스테가노그래피를 사용하여 누가 이런 짓을 하는지 알아내 대응하는 수밖에 없을 것이다.