HTML 페이지 복사/붙여넣기 방지(Ctrl+C/Ctrl+V 비활성화)

참고: 인기 테마인 BE 테마(33%)The 7(35%) 할인 행사를 진행하고 있습니다.

이전 글에서 워드프레스 복사 방지(오른쪽 마우스 금지) 플러그인을 소개했습니다. 워드프레스에는 “Right Click Disable Orignal” 등 다양한 오른쪽 마우스 클릭을 방지하는 플러그인이 있습니다. 하지만 플러그인 설치는 그렇게 좋은 옵션이 아닌 경우가 많습니다. 워드프레스에 플러그인을 많이 설치하게 되면 성능에 영향을 미칠 수 있고 충돌이 발생할 가능성이 높아집니다.

참고: 워드프레스에 몇 개의 플러그인을 설치해야 하면 좋다는 원칙은 없는 것 같습니다. 전문가의 의견을 빌리자면 개수보다는 어떤 플러그인을 설치하는가가 더 중요하다고 합니다. 즉, 잘 만들어진 High Quality 플러그인을 선택하는 것이 중요합니다.

플러그인 대신 javascript나 jQuery를 사용하여 페이지 내용 복사 방지를 구현할 수 있습니다.

가장 쉬운 방법으로 body에 다음과 같은 코드를 추가하도록 합니다.

<body oncopy="return false" oncut="return false" onpaste="return false">

위의 코드를 추가하면 관리자를 비롯한 모든 사용자가 페이지 내용을 복사할 수 없게 됩니다. 만약 관리자/편집자는 내용을 복사할 수 있도록 허용하려면 조건문 if( !current_user_can(‘edit_others_pages’) )를 사용하면 됩니다(여기 참고).

이 방법을 사용하면 사용자는 오른쪽 마우스 버튼을 눌러 상황별 메뉴(컨텍스트 메뉴)를 표시하고 “복사” 메뉴까지 선택할 수 있고, 텍스트를 끌어서 Ctrl+C로 복사할 수 있지만 실제로는 복사되는 내용이 없습니다. 즉, Ctrl + C, Ctrl + V 키를 사용하여 내용을 복사하여 붙여넣기하면 아무 내용도 복사되지 않음을 확인할 수 있습니다.

특정 텍스트 영역의 텍스트 복사를 방지하려면 다음과 같은 jQuery 코드를 사용할 수 있습니다.

$(document).ready(function()
{
var ctrlDown = false;
var ctrlKey = 17, vKey = 86, cKey = 67;

$(document).keydown(function(e)
{
if (e.keyCode == ctrlKey) ctrlDown = true;
}).keyup(function(e)
{
if (e.keyCode == ctrlKey) ctrlDown = false;
});

$(".no-copy-paste").keydown(function(e)
{
if (ctrlDown && (e.keyCode == vKey || e.keyCode == cKey)) return false;
});
});
// Source: stackoverflow

하지만 어떤 방법을 사용하더라도 복사 방지를 완벽하게 방지할 수 없고 좋은 아이디어가 아닐 수 있습니다. 그래도 불펌 방지를 위한 기능을 추가하고 싶은 경우 위에 설명한 것처럼 body 태그에 oncopy=”return false” oncut=”return false” onpaste=”return false” 코드를 추가하거나 별도의 워드프레스 플러그인을 설치할 수 있습니다.

참고:



기부를 통해 이 블로그를 후원하실 수 있습니다.
워드프레스 설치/제작/문제해결이 필요한 경우 서비스(유료)를 요청해주세요.