웹마스터 팁

COPY & CUT 막기 / 경고 [0002]

2005.01.16 02:41

EDENe

┏━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━
┃0002┃COPY & CUT 막기 / 경고
┗━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 서문:

비교적 짧은 JavaScript이지만, 다소 내용상으로는 고급에 해당되는 스크립트라할 수 있겠습니다.

텍스트의 경우, 이벤트 값을 false로 반환함으로써 간단하게 COPY를 막을 수 있습니다만,
이미지 자체를 카피할 경우 document가 아닌 개체로 보기 때문에 이벤트 값만으로는 COPY를 막을 수 없습니다.
따라서 clipboardData 개체에 접근하여, 강제적으로 클립보드의 값을 바꾸어 버립니다.

물론 소스보기를 통해 내용을 COPY해 갈 수 있겠지만, 본 스크립트는 공부를 위해서 제작된 것이므로 ^-^;

본 스크립트를 수정해서 COPY를 막는 것이 아니라,
COPY를 했을 경우 "출처를 만드시 표기해 주세요" 등의 알림 용도로 사용해도 좋을 것 같습니다.


┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 예제: http://edene.com/nzeo/java/?no=0002&mode=example


┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 소스: http://edene.com/nzeo/java/?no=0002&mode=source

<script type="text/javascript">
<!--
        function warning(){
               alert('복사해가실 수 없습니다.');
               event.returnValue = false;
               window.clipboardData.setData("Text",'복사해가실 수 없습니다.');
        }
//-->
</script>


┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 적용:

<body> 태크에 oncopy="warning();"을 추가합니다.
예: <body style="margin:0px" oncopy="warning();">


┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 추가: CUT 막기 (200501180624)

잘라내기의 경우 아래의 body태그에 추가적으로 oncut="warning();"을 넣어주시면 됩니다.
예: <body style="margin:0px" oncopy="warning();" oncut="warning();">


┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 알림:

소스페이지에 가시면 자세하게 주석을 달아두었으니, 이해가 안되시는 분들은 참고하도록 하세요.

본 스크립트는 제가 직접 제작한 것입니다. 다른 곳에 퍼가실 경우 아래 간단한 메시지와 퍼갈 곳의 주소를 남겨주세요.
(본 스크립트를 참고하여 새로운 스크립트를 만드는 경우, 자신의 홈페이지 제작에 활용한 경우는 상관없어요 ^-^;)