워드프레스를 사용하는 경우 WP Content Copy Protection & No Right Click과 같은 플러그인을 사용하여 텍스트 복사를 방지하고 우클릭을 금지할 수 있습니다. 또한, 이미지 등을 불펌할 수 있도록 할 수 있습니다. 하지만 플러그인을 사용할 경우 간혹 다른 플러그인과 충돌을 일으켜 예상치 못한 문제를 일으키기도 합니다. 그리고 모든 불펌 방법은 쉽게 무력화될 수 있으므로 실질적으로 큰 효과가 없을 수도 있습니다.
아래 방법은 워드프레스뿐만 아니라 티스토리 등에서도 활용이 가능합니다.
body 태그에 코드를 추가하여 우클릭과 텍스트 복사 금지하기
대안으로 [**<body>**] 태그에 코드를 추가하여 우클릭과 이미지/텍스트 선택/복사를 방지할 수 있습니다.
<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onkeydown="return false">
위의 코드에서...
- oncontextmenu = "return false": 오른쪽 마우스 클릭 방지
- onseletstart = "return false": 마우스 드래그 방지
- ondragstart = "return false" : 이미지 복사 드래그 방지
- onkeydown = "return false": 키보드 단축키 복사 방지
워드프레스에서 body 태그에 코드를 추가하려면 차일드 테마를 설치하여 작업해야 합니다.
보통 [**<body>**] 태그는 [**header.php**] 파일에 위치하지만 테마에 따라 다를 수 있습니다.
예를 들어, GeneratePress 테마의 경우 차일드 테마를 만들고, FTP 서버에 접속하여 부모 테마 폴더에서 [**header.php**] 파일을 PC로 다운로드한 후에 차일드 테마 폴더로 업로드합니다.
차일드 테마 폴더에서 [**header.php**] 파일을 마우스로 클릭하고 오른쪽 버튼을 클릭한 다음, 보기/편집을 클릭합니다.
그러면 [**header.php**] 파일 편집 화면이 표시됩니다.
[**<body>**] 태그 부분을 찾습니다. GeneratePress 테마의 경우 위의 그림과 같이 [**body**] 태그가 다음과 같이 되어 있습니다.
<body <?php body_class(); ?> <?php generate_do_microdata( 'body' ); ?>>
원하는 기능의 코드를 추가하도록 합니다. 예를 들어, 오른쪽 마우스 버튼만 비활성화하려는 경우 [**oncontextmenu = "return false"**]를 추가하면 됩니다.
<body oncontextmenu = "return false" <?php body_class(); ?> <?php generate_do_microdata( 'body' ); ?>>
그러면 우클릭만 금지됩니다. 테스트로 제 워드프레스 블로그에 위의 코드를 추가하니 잘 작동하는 것을 확인할 수 있었습니다. 페이지 소스를 확인하면 추가한 코드가 추가되어 있습니다.
하지만 이런 방법도 간단히 무력화될 수 있으므로 플러그인과 마찬가지로 큰 효과는 없고, 이미지 불펌이나 텍스트 불펌을 근본적으로 막을 수 있는 방법은 없습니다. 다만, 무력화 방법을 모르는 사용자들에게 조금 불편하게 할 수 있습니다. (텍스트를 복사할 수 없다면 직접 타이핑할 수 있고, 이미지를 다운로드할 수 없다면 스크린샷 플러그인으로 화면을 갈무리할 수도 있습니다. 어떤 식으로든 복사할 사람은 복사할 것입니다.😥😥😥)
자바스크립트를 사용하여 우클릭 금지/텍스트 복사 방지하지
[**<body>**] 태그 안에 코드를 추가할 수 없는 경우 자바스크립트를 사용하여 우클릭을 금지하고 텍스트 복사를 방지할 수 있습니다.
다음 자스 코드를 사용하면 우클릭을 금지할 수 있습니다.
<script>
document.oncontextmenu = function(){return false;}
</script>
또한, Disable Copying on a website 문서에서 소개하는 JavaScript 코드를 사용하면 텍스트 복사와 이미지 다운로드를 방지할 수 있습니다.
<script>
function killCopy(e){
return false;
}
function reEnable(){
return true;
}
document.onselectstart=new Function ("return false");
if (window.sidebar){
document.onmousedown=killCopy;
document.onclick=reEnable;
}
</script>
자바스크립트 코드를 [**</head>**] 바로 위에 추가하시기 바랍니다.
WPCode와 같은 플러그인을 사용하여 헤더 섹션에 위의 코드를 추가하거나, [**wp_head**] 훅을 사용하여 추가할 수 있습니다. GeneratePress 테마를 사용하는 경우 Elments를 사용하여 헤더 섹션에 코드를 추가할 수 있습니다.
마찬가지로 이런 방법도 쉽게 무력화될 수 있습니다.
참고
https://avada.tistory.com/2897
https://avada.tistory.com/2881