ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 블로그, 웹사이트에서 복사 금지 설정 - 자바스크립트 비활성화로 해제 불가
    카테고리 없음 2021. 4. 12. 08:42

     

     

     

    티스토리 등에서 개인 블로그를 운영하시는 분들, 쇼핑몰 웹사이트를 운영하시는 분들은 타인이 글, 이미지를 복사하여 자신의 것처럼 사용하는 것에 민감하실 겁니다. 구글링하면 우클릭 차단 스크립트가 여러 가지 나와서 적용한 사이트를 많이 보게 되는데요, 그런데 역시 우클릭 차단 해제로 검색하면 나오는 다양한 파훼법들로 쉽게 해제가 되는 것이 사실이죠.

    이런 파훼법 중 가장 확실한 것이 개발자 도구를 열어 자바스크립트를 비활성화 시키는 것인데요, 이 경우에도 저작권 안내 메세지를 띄울 수 있도록 이미 존재하는 스크립트를 수정해 보았어요.

     

    코드 링크

    사용법

    • message.html 에서 사용자에게 보여주고 싶은 메세지 내용을 직접 수정 
    • 적용하고자 하는 웹사이트의 <body> 태그의 직후에, 위 block-copy.htmlmessage.html 을 순서대로 붙여넣기
      • block-copy.html 의 내용이 먼저 와야 해요.
      • 티스토리의 경우, [블로그 관리] > [꾸미기] > [스킨 편집] > [HTML 편집] 에서 <body> 태그를 찾아 그 직후 붙여넣으시면 돼요.
    • 만약 HTML을 다룰 줄 아시는 분이라면, 이 코드에서 <script> 부분만 빼서 </body> 직전에 붙여넣으시면 더 좋아요.

    포함된 기능

    1. 복사, 드래그, 우클릭 차단
    2. 개발자 도구를 여는 거의 대부분의 방법을 차단
    3. 자바스크립트를 비활성화 할 시 메세지 띄우기
    4. pig toolbox 등 잘 알려진 브라우저 확장 프로그램 실행 시 메세지 띄우기

    3, 4에서 메세지를 띄울 때는 화면 전체에 투명한 레이어를 씌워 추가적인 드래그를 차단해요. 만약 메세지는 띄우지 않고 차단만 하고 싶다면 message.html에서 첫 span 을 지우면 돼요.
    만약 웹사이트의 첫 방문시부터 자바스크립트가 차단되어 있었다면, 저작권 관련 메세지 대신 자바스크립트를 사용하라는 메세지를 띄우고, 웹사이트의 다른 컨텐츠는 가려지게 돼요.

    4번은 몇몇 잘 알려진 확장 프로그램에 대해서만 테스트 되었어요. 만약 확장 프로그램을 사용해도 복사방지가 뚫리지 않았을 경우에는 메세지가 안 뜰 수도 있어요.

    이런게 어케 가능한거죠??

    웹마스터, 개발자를 위해 (더보기)

    CSS animation, keyframe과 Javascript를 이용한 CSS 컨트롤을 이용해요. 일정 시간이 지난 후 특정 요소를 사용자에게 보여주는 CSS animation을 이용하고, Javascript를 이용해 이 animation을 주기적으로 리셋 시켜요. animation을 리셋시키는 것은 https://css-tricks.com/restart-css-animation/ 글을 참고 바라요. 단 이 링크의 `.offsetWidth` 를 이용한 방법은 IE에서 delay가 설정된 animation이 delay까지 리셋되지 않는 문제가 있어 사용하기 어려워요.

    사용자가 다른 탭으로 전환하는 등 페이지가 숨겨질 경우 setInterval 이 throttle 되어 자바스크립트가 비활성화 된 것과 같은 효과가 있어요. 따라서 페이지가 숨겨질 경우 animation 리셋을 정지하게 돼요. https://developer.chrome.com/blog/timer-throttling-in-chrome-88/ 글을 참고하세요.

     

     

    댓글

Designed by Tistory.