[JavaScript] 마우스 우클릭 금지, F12 이벤트 금지

Q0. 개요

웹 페이지 개발을 하다보면 개발자모드 (F12) 창을 정말 많이 띄우게 된다.

앞 단 (= 프론트엔드)에서 개발되는 자바스크립트의 경우에는 소스를 아무리 숨기려고 해도 숨길 수 있는데에 한계가 있다.

최대한 난독화를 하거나 오늘의 주제와 같이 우클릭 혹은 F12 방지를 적용하는 수 밖에 없다.

(단, 그럼에도 F12창은 띄울 수 있고 어떻게든 앞단의 소스를 확인할 수 있다고 알고 있다)

그래도 글의 제목과 같이 방지할 수 있으면 방지하고자 한다. (본인은 1번과 2번을 주로 사용한다)

 

Q1. 우클릭 방지 방법

방법 1 :
<body> 태그에 옵션을 적용한다.(단, Body는 화면 전체 영역 크기로 해야지 어디를 우클릭해도 방지된다) oncontextmenu="return false" onselectstart="return false" ondragstart="return false"

방법 2 : 스크립트에 이벤트 추가
document.onmousedown=disableclick;
function disableclick(event){
     if (event.button==2) {
          return false;
     }
}

방법 3 :스크립트에 이벤트 추가
document.oncontextmenu = function(){
     return false;
}

 

Q2. F12 (개발자모드) 클릭 방지 방법

방법 1 . 스크립트에 이벤트 추가
document.addEventListener('keydown', function (event) {
     if ( event.keyCode == 123) {
          event.preventDefault();
          event.returnValue = false;
     }
});

 

'WEB 심화 > Front-End' 카테고리의 다른 글

[JavaScript] 깊은 복사와 얕은 복사  (0) 2023.11.27