우클릭 방지 및 F12 방지 (feat.개발자 도구 막기???!)
[개발자 도구 막기]
고객 요청에 의해 개발자 도구를 막고 싶어하는 곳도 있긴한데 사실상 이게 의미가 있나 싶은 생각이들지만 방법이 있나 찾아는 봤다. 현재 은행권 및 증권쪽에서 사용하는 걸 보면 개발자 도구 차단은 'AhnLab Safe Transaction'이라는 보안 프로그램이 동작하는 상태에서 개발자도구를 실행하게 되면 보안 프로그램이 차단하여 자동으로 꺼지는걸 확인했다.
[소스]
//2022-02-03 (F12 및 우클릭 방지)
$(function(){
//마우스 우클릭을 했을때 브라우저 기본 이벤트 제어 (우클릭 방지)
if (window.addEventListener) {
window.addEventListener('contextmenu', function(e) { try { if (typeof e != 'undefined') { e.preventDefault(); return false; } else { return false; }} catch(e) {} } , false);
} else {
window.attachEvent('oncontextmenu', function(e) { try { if (typeof e != 'undefined') { e.preventDefault(); return false; } else { return false; }} catch(e) {} } );
}
var handlemouseEvent = function(e) {
try {
if (typeof e == 'undefined') {
if (window.event.button && window.event.button == "2") {
return false;
}
} else if ((e.which && e.which == 3) || (e.button && e.button == 2)) {
e.preventDefault();
return false;
} else if (e.keyCode == 123) { //F12방지
e.preventDefault();
return false;
}
} catch (e) {}
};
window.onkeydown = handlemouseEvent;
window.onkeyup = handlemouseEvent;
});
[참고]
- 개발자 도구
https://bustar.tistory.com/218
크롬 개발자도구 꺼짐현상 해결방법(보안프로그램)
크롬 브라우저에서 제공하는 기능중 유용한 개발자도구가 있습니다. 개발자도구를 통해서 어떤부분에서 에러가 나는지, 코드가 잘 작동하는지, 새로운 css를 적용해보기도 하고 여러가지 재미
bustar.tistory.com
- MouseEvent.button
https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button
MouseEvent.button - Web APIs | MDN
The MouseEvent.button read-only property indicates which button was pressed on the mouse to trigger the event.
developer.mozilla.org
- Event.preventDefault()
https://developer.mozilla.org/ko/docs/Web/API/Event/preventDefault
Event.preventDefault() - Web API | MDN
Event 인터페이스의 preventDefault() 메서드는 어떤 이벤트를 명시적으로 처리하지 않은 경우, 해당 이벤트에 대한 사용자 에이전트의 기본 동작을 실행하지 않도록 지정합니다.
developer.mozilla.org