반응형
여러 사이트를 보다 보면 우클릭할 수 없는 사이트를 볼 수 있습니다.
우클릭이 금지되면 페이지 내 콘텐츠(글이나 이미지)를 복사할 수 없게 되어 사람에 따라 불편할 수도 있습니다.
하지만 이 불편한 사양은 콘텐츠가 복사되어 박히는 것을 예방하기 위해 행해지고 있는 것이지 사용자를 곤란하게 하기 위한 노력은 아닙니다.
우클릭 메뉴를 금지한 적이 없는 사이트 운영자 입장에서는
어떻게 우클릭을 금지하고 있는가?
금지하는 것은 초보자도 할 수 있는가
라고 하는 것이 신경 쓰이실 것입니다.
그리고 금지된 오른쪽 클릭을 해제하는 방법이 궁금하신 분들도 있을 것입니다.
이 기사에서는 우클릭을 금지하는 방법과 해제하는 방법을 모두 소개하고 있으니 참고해 보세요.
우클릭 금지하는 방법
우선 오른쪽 클릭을 금지하는 방법입니다.
오른쪽 클릭 메뉴를 표시하지 않는 설정은 어떻게 하느냐는 이야기인데, 이것은 자바스크립트를 사용하고 있습니다.
방법은 간단하고 페이지 내 어딘가에 아래 스크립트를 꽂기만 하면 됩니다.
document.oncontextmenu = function () {return false;}
HTML 페이지 위에 쓰는 경우는 script 태그로 둘러싸는 것을 잊지 않도록 해 주세요.
이제 우클릭 메뉴가 열리지 않게 되어 우클릭에서의 복사를 방지할 수 있습니다.일단 내 사이트에도 구현해보고 오른쪽 클릭이 안되는지 확인해보면 좋을 것 같습니다.
가능한 한 우클릭 금지가 해제되지 않도록 하다
자세한 내용은 후술하겠지만 자바스크립트에 의한 우클릭 메뉴 금지 처리는 간단히 해제할 수 있습니다.
그러니 조금이라도 해제를 어렵게 한다면 아래 두 줄도 추가하도록 하겠습니다.
document.getElementsByTagName(′html′)[0].oncontextmenu = function () {return false;}
document.body.oncontextmenu = function () {return false;}
이들 3개의 우클릭 비활성화 처리를 준비해 두면 해제 작업이 3번이나 필요하기 때문에 해제를 포기하는 분들이 많아질 것입니다.
또 해제 방법을 아는 사람이라도 ′아는 방법으로는 해제할 수 없는 처리를 낚아채고 있을 것이다′라고 생각하게 되어 시간을 끌면서까지 해제 방법을 찾으려는 사람은 좀처럼 없습니다.
해제되어도 우클릭하지 못하게 하다
한번 해제되어 버리면 어쩔 수 없다고 생각하실 수 있지만, 힘기술로 우클릭 금지 해제를 무효화할 수 있습니다.
setInterval(function(){
document.oncontextmenu = function () {return false;}
}, 100);
상기 코드는 100밀리초마다 우클릭 금지 처리를 실행하고 있으며, 또한 무명 함수이기 때문에 함수가 덮어쓰거나 반복 처리가 멈추지 않습니다.
이 방법은 매우 강력해서 대항 수단을 아시는 분은 거의 없을 겁니다.알고 있다고 해도 이 처리를 특정해서 해제하는 것은 거의 불가능합니다.
우클릭 해제를 회피하는 몇 안 되는 수단이므로 작은 소재로 기억해 두면 좋을지도 모릅니다.
우클릭 금지만으로는 복사 대책 불완전
우클릭을 금지하는 목적의 대부분이 콘텐츠 복사 대책이라고 생각됩니다.
그런데 콘텐츠 복사는 단축키 Ctrl+C로 할 수 있다는 거 잊지 않으셨나요?
확실히 오른쪽 클릭 메뉴를 비활성화함으로써 오른쪽 클릭을 사용한 콘텐츠 복사본은 비활성화할 수 있습니다.
하지만, Ctrl+C키로 복사 대책은 되어 있지 않습니다.
본제와는 조금 어긋나지만, 필요한 경우는 이하의 복사 금지 처리도 추가하도록 합시다.
oncopy=”return false”;
저희도 자바스크립트를 사용하고 있기 때문에 자바스크립트 파일에 쓰거나 HTML에 쓰실 경우 스크립트 태그로 감싸도록 하겠습니다.
텍스트 드래그 선택도 비활성화한다
무조건 복사되고 싶지 않은 경우 CSS를 사용하여 텍스트 드래그 선택을 비활성화합니다.
방법은 간단하고 HTML의 body 요소의 선두에 원하는 이미지를 삽입합니다.삽입할 이미지는 무엇이든 상관없습니다.
그 때, 다른 요소에 사용하지 않는 id·class를 설정합시다.
그 요소에 대해서 이하의 CSS를 적용합니다.
.noise{
position:absolute;
width:100%;
height:100%;
opacity:0;
}
이것만으로 텍스트 드래그 선택을 비활성화할 수 있습니다.아래에 샘플을 싣고 있으므로 시험 삼아 텍스트를 드래그하여 선택하려고 시도해 보십시오.
왠지 텍스트 선택이 잘 안 될 거예요.
결과
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
무조건 복사되고 싶지 않다면 이 처리를 더해 보는 것이 좋습니다.
우클릭 금지를 해제하는 방법
우클릭 금지를 해제하는 방법은 몇 가지 준비되어 있습니다.우클릭 금지되어 곤란한 경우는, 아래의 방법으로 회피하도록 합시다.
크롬 애드온을 사용하다
가장 빠른 것은 ′Enable right click′이라는 크롬 애드온을 사용하는 것입니다.
Enable right click-Chrome 웹스토어
우선 애드온 페이지에 접속해서 브라우저에 추가합시다.
Safari나 Firefox와 같은 크롬 애드온 비지원 브라우저에서는 사용할 수 없기 때문에, 그러한 브라우저를 사용하고 있는 경우는 다른 방법으로 우클릭 금지 해제를 시도해 봅시다.
이 애드온을 넣기만 하면 대부분의 사이트의 오른쪽 클릭 메뉴를 부활시킬 수 있습니다.전문 지식이 전혀 필요 없는 데다 매우 간편하기 때문에 일단 이 애드온을 넣어두면 안심이 될 것입니다.
개발자 도구를 사용하다
우클릭 금지 처리는 자바스크립트로 이루어지고 있는데, 사용자 측도 열려 있는 페이지에 대해 자바스크립트를 실행할 수 있고 우클릭 금지 처리를 덮어쓸 수 있습니다.
Google Chrome의 경우 F12 키를 누르면 나타나는 디벨로퍼 툴에서 자바스크립트를 실행할 수 있습니다.
열리면 [Console] 탭이 되어 있는지 확인하고 ′>′에 커서를 맞춰주세요.
여기에, 이하의 3행을 카피 페이스트 하고 엔터키를 누릅니다.
document.oncontextmenu = function () {return true;}
document.getElementsByTagName(′html′)[0].oncontextmenu = function () {return true;}
document.body.oncontextmenu = function () {return true;}
이제 거의 모든 우클릭 금지 처리를 해제할 수 있기 때문에 시험 삼아 해 보는 것이 좋습니다.
사이트의 자바스크립트를 비활성화하다
이 방법에 대항할 수 있는 우클릭 금지 처리는 없습니다.
우클릭 금지는 자바스크립트로 하기 때문에 브라우저 측에서 자바스크립트를 비활성화해 버리면 우클릭 금지 처리를 포함한 모든 자바스크립트 처리가 비활성화됩니다.
Google Chrome의 경우 URL 바 왼쪽 아이콘을 클릭하면 표시되는 [사이트 설정]에서 Java Script를 비활성화 할 수 있습니다.
사이트 설정을 열면 ′JavaScript′를 [허가]에서 [차단]으로 전환합니다.
전환 후 방금 전 페이지를 다시 읽어주세요.아무 일도 없었다는 듯이 오른쪽 클릭으로 메뉴를 열게 되어 있습니다.
정리
시한 처리나 콘텐츠 위에 투명 이미지를 덧씌워 텍스트 선택을 못하게 하는 등 여러 가지 방법이 있지만 완전히 우클릭이나 카피페를 비활성화하는 것은 불가능합니다.
우클릭 금지 해제 방법 소개에서 언급했듯이 방문한 사용자가 의도적으로 자바스크립트를 비활성화한 경우 자바스크립트로 우클릭 메뉴를 비활성화할 수 없습니다.
HTML 지식이 풍부한 분이라면 투명 이미지 요소만 개발자 도구를 사용하여 삭제하고 텍스트를 선택할 수 있도록 하는 것도 가능합니다.
하지만 간단한 우클릭 복사 대책만 세워두면 대부분 우클릭 복사를 하지 않게 되므로 그렇게까지 과민할 필요는 없습니다.
또한 굳이 오른쪽 클릭 등 아무것도 금지하지 않고 마음대로 복사하는 방법도 있습니다.
우클릭이나 복사를 금지하면 사용자경험(UX)이 저하되기 때문에 구글 알고리즘 상에서의 사이트 평가가 떨어질 수 있습니다.
그래서 뭔가 특별한 이유가 없는 한 오른쪽 플릭은 금지하지 않는 편이 좋을지도 모릅니다.
우클릭이 금지되면 페이지 내 콘텐츠(글이나 이미지)를 복사할 수 없게 되어 사람에 따라 불편할 수도 있습니다.
하지만 이 불편한 사양은 콘텐츠가 복사되어 박히는 것을 예방하기 위해 행해지고 있는 것이지 사용자를 곤란하게 하기 위한 노력은 아닙니다.
우클릭 메뉴를 금지한 적이 없는 사이트 운영자 입장에서는
어떻게 우클릭을 금지하고 있는가?
금지하는 것은 초보자도 할 수 있는가
라고 하는 것이 신경 쓰이실 것입니다.
그리고 금지된 오른쪽 클릭을 해제하는 방법이 궁금하신 분들도 있을 것입니다.
이 기사에서는 우클릭을 금지하는 방법과 해제하는 방법을 모두 소개하고 있으니 참고해 보세요.
우클릭 금지하는 방법
우선 오른쪽 클릭을 금지하는 방법입니다.
오른쪽 클릭 메뉴를 표시하지 않는 설정은 어떻게 하느냐는 이야기인데, 이것은 자바스크립트를 사용하고 있습니다.
방법은 간단하고 페이지 내 어딘가에 아래 스크립트를 꽂기만 하면 됩니다.
document.oncontextmenu = function () {return false;}
HTML 페이지 위에 쓰는 경우는 script 태그로 둘러싸는 것을 잊지 않도록 해 주세요.
이제 우클릭 메뉴가 열리지 않게 되어 우클릭에서의 복사를 방지할 수 있습니다.일단 내 사이트에도 구현해보고 오른쪽 클릭이 안되는지 확인해보면 좋을 것 같습니다.
가능한 한 우클릭 금지가 해제되지 않도록 하다
자세한 내용은 후술하겠지만 자바스크립트에 의한 우클릭 메뉴 금지 처리는 간단히 해제할 수 있습니다.
그러니 조금이라도 해제를 어렵게 한다면 아래 두 줄도 추가하도록 하겠습니다.
document.getElementsByTagName(′html′)[0].oncontextmenu = function () {return false;}
document.body.oncontextmenu = function () {return false;}
이들 3개의 우클릭 비활성화 처리를 준비해 두면 해제 작업이 3번이나 필요하기 때문에 해제를 포기하는 분들이 많아질 것입니다.
또 해제 방법을 아는 사람이라도 ′아는 방법으로는 해제할 수 없는 처리를 낚아채고 있을 것이다′라고 생각하게 되어 시간을 끌면서까지 해제 방법을 찾으려는 사람은 좀처럼 없습니다.
해제되어도 우클릭하지 못하게 하다
한번 해제되어 버리면 어쩔 수 없다고 생각하실 수 있지만, 힘기술로 우클릭 금지 해제를 무효화할 수 있습니다.
setInterval(function(){
document.oncontextmenu = function () {return false;}
}, 100);
상기 코드는 100밀리초마다 우클릭 금지 처리를 실행하고 있으며, 또한 무명 함수이기 때문에 함수가 덮어쓰거나 반복 처리가 멈추지 않습니다.
이 방법은 매우 강력해서 대항 수단을 아시는 분은 거의 없을 겁니다.알고 있다고 해도 이 처리를 특정해서 해제하는 것은 거의 불가능합니다.
우클릭 해제를 회피하는 몇 안 되는 수단이므로 작은 소재로 기억해 두면 좋을지도 모릅니다.
우클릭 금지만으로는 복사 대책 불완전
우클릭을 금지하는 목적의 대부분이 콘텐츠 복사 대책이라고 생각됩니다.
그런데 콘텐츠 복사는 단축키 Ctrl+C로 할 수 있다는 거 잊지 않으셨나요?
확실히 오른쪽 클릭 메뉴를 비활성화함으로써 오른쪽 클릭을 사용한 콘텐츠 복사본은 비활성화할 수 있습니다.
하지만, Ctrl+C키로 복사 대책은 되어 있지 않습니다.
본제와는 조금 어긋나지만, 필요한 경우는 이하의 복사 금지 처리도 추가하도록 합시다.
oncopy=”return false”;
저희도 자바스크립트를 사용하고 있기 때문에 자바스크립트 파일에 쓰거나 HTML에 쓰실 경우 스크립트 태그로 감싸도록 하겠습니다.
텍스트 드래그 선택도 비활성화한다
무조건 복사되고 싶지 않은 경우 CSS를 사용하여 텍스트 드래그 선택을 비활성화합니다.
방법은 간단하고 HTML의 body 요소의 선두에 원하는 이미지를 삽입합니다.삽입할 이미지는 무엇이든 상관없습니다.
그 때, 다른 요소에 사용하지 않는 id·class를 설정합시다.
그 요소에 대해서 이하의 CSS를 적용합니다.
.noise{
position:absolute;
width:100%;
height:100%;
opacity:0;
}
이것만으로 텍스트 드래그 선택을 비활성화할 수 있습니다.아래에 샘플을 싣고 있으므로 시험 삼아 텍스트를 드래그하여 선택하려고 시도해 보십시오.
왠지 텍스트 선택이 잘 안 될 거예요.
결과
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
샘플
복사할 수 없어
무조건 복사되고 싶지 않다면 이 처리를 더해 보는 것이 좋습니다.
우클릭 금지를 해제하는 방법
우클릭 금지를 해제하는 방법은 몇 가지 준비되어 있습니다.우클릭 금지되어 곤란한 경우는, 아래의 방법으로 회피하도록 합시다.
크롬 애드온을 사용하다
가장 빠른 것은 ′Enable right click′이라는 크롬 애드온을 사용하는 것입니다.
Enable right click-Chrome 웹스토어
우선 애드온 페이지에 접속해서 브라우저에 추가합시다.
Safari나 Firefox와 같은 크롬 애드온 비지원 브라우저에서는 사용할 수 없기 때문에, 그러한 브라우저를 사용하고 있는 경우는 다른 방법으로 우클릭 금지 해제를 시도해 봅시다.
이 애드온을 넣기만 하면 대부분의 사이트의 오른쪽 클릭 메뉴를 부활시킬 수 있습니다.전문 지식이 전혀 필요 없는 데다 매우 간편하기 때문에 일단 이 애드온을 넣어두면 안심이 될 것입니다.
개발자 도구를 사용하다
우클릭 금지 처리는 자바스크립트로 이루어지고 있는데, 사용자 측도 열려 있는 페이지에 대해 자바스크립트를 실행할 수 있고 우클릭 금지 처리를 덮어쓸 수 있습니다.
Google Chrome의 경우 F12 키를 누르면 나타나는 디벨로퍼 툴에서 자바스크립트를 실행할 수 있습니다.
열리면 [Console] 탭이 되어 있는지 확인하고 ′>′에 커서를 맞춰주세요.
여기에, 이하의 3행을 카피 페이스트 하고 엔터키를 누릅니다.
document.oncontextmenu = function () {return true;}
document.getElementsByTagName(′html′)[0].oncontextmenu = function () {return true;}
document.body.oncontextmenu = function () {return true;}
이제 거의 모든 우클릭 금지 처리를 해제할 수 있기 때문에 시험 삼아 해 보는 것이 좋습니다.
사이트의 자바스크립트를 비활성화하다
이 방법에 대항할 수 있는 우클릭 금지 처리는 없습니다.
우클릭 금지는 자바스크립트로 하기 때문에 브라우저 측에서 자바스크립트를 비활성화해 버리면 우클릭 금지 처리를 포함한 모든 자바스크립트 처리가 비활성화됩니다.
Google Chrome의 경우 URL 바 왼쪽 아이콘을 클릭하면 표시되는 [사이트 설정]에서 Java Script를 비활성화 할 수 있습니다.
사이트 설정을 열면 ′JavaScript′를 [허가]에서 [차단]으로 전환합니다.
전환 후 방금 전 페이지를 다시 읽어주세요.아무 일도 없었다는 듯이 오른쪽 클릭으로 메뉴를 열게 되어 있습니다.
정리
시한 처리나 콘텐츠 위에 투명 이미지를 덧씌워 텍스트 선택을 못하게 하는 등 여러 가지 방법이 있지만 완전히 우클릭이나 카피페를 비활성화하는 것은 불가능합니다.
우클릭 금지 해제 방법 소개에서 언급했듯이 방문한 사용자가 의도적으로 자바스크립트를 비활성화한 경우 자바스크립트로 우클릭 메뉴를 비활성화할 수 없습니다.
HTML 지식이 풍부한 분이라면 투명 이미지 요소만 개발자 도구를 사용하여 삭제하고 텍스트를 선택할 수 있도록 하는 것도 가능합니다.
하지만 간단한 우클릭 복사 대책만 세워두면 대부분 우클릭 복사를 하지 않게 되므로 그렇게까지 과민할 필요는 없습니다.
또한 굳이 오른쪽 클릭 등 아무것도 금지하지 않고 마음대로 복사하는 방법도 있습니다.
우클릭이나 복사를 금지하면 사용자경험(UX)이 저하되기 때문에 구글 알고리즘 상에서의 사이트 평가가 떨어질 수 있습니다.
그래서 뭔가 특별한 이유가 없는 한 오른쪽 플릭은 금지하지 않는 편이 좋을지도 모릅니다.
반응형