반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- mysql
- docker
- submit
- mybatis
- security
- config
- pwa
- Eclipse
- jenkins
- Next.js
- SpringBoot
- nodejs
- yona
- spring3
- rocky9
- javascript
- node.js
- jquery
- Maven
- Push
- MariaDB
- Java
- FCM
- popup
- MSsql
- centos7
- NextJS
- PM2
- git
- ajax
Archives
- Today
- Total
ふたりで
개발자 도구 차단 1, Detect browser developer tools by javascript 1 (chrome, firefox, Edge) 본문
javascript
개발자 도구 차단 1, Detect browser developer tools by javascript 1 (chrome, firefox, Edge)
graykang 2022. 10. 6. 20:09728x90
반응형
SMALL
나름 개발자 도구를 막아 보겠다고 구글링 하며 테스트한 결과 결론은 못 막는다입니다...
아래 소스는 참고 정도만 하시길... 브라우저의 메뉴를 통한 개발자 도구 열기는 막을 수 없다는...
거기다 개발자도구 감지 부분도 무력화시키는 방법이 있음;;;
( 완벽하게?? 막아지는 것 같은 방법이 있어 아래 링크를 추가합니다.)
728x90
반응형
SMALL
<script type="text/javascript">
$(document).ready(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;
}
} catch (e) {}
};
window.onkeydown = handlemouseEvent;
window.onkeyup = handlemouseEvent;
//-
//개발자도구 열었을 경우 debugger를 이용한 감지
function detectDevTool(allow) {
var a = false;
if(isNaN(+allow)) allow = 100;
var start = +new Date(); // Validation of built-in Object tamper prevention.
debugger;
//console.log('%c', devtools);
var end = +new Date(); // Validates too.
if(isNaN(start) || isNaN(end) || end - start > allow) {
// input your code here when devtools detected.
alert("개발자도구 사용 금지!!!!!");
//알럿후 확~!! 로그아웃 시켜 버리기
var logOutFrom = document.createElement('form');
logOutFrom.name= "logOutFrom";
logOutFrom.id= "logOutFrom";
logOutFrom.action = ctx+"/logout";
logOutFrom.method= "POST";
var input = document.createElement('input');
input.type = 'hidden';
input.name = '${_csrf.parameterName}';
input.value = '${_csrf.token}';
logOutFrom.appendChild(input);
document.body.appendChild(logOutFrom);
logOutFrom.submit();
}
}
if(window.attachEvent) {
if (document.readyState === "complete" || document.readyState === "interactive") {
detectDevTool();
window.attachEvent('onresize', detectDevTool);
window.attachEvent('onmousemove', detectDevTool);
window.attachEvent('onfocus', detectDevTool);
window.attachEvent('onblur', detectDevTool);
} else {
setTimeout(argument.callee, 0);
}
} else {
window.addEventListener('load', detectDevTool);
window.addEventListener('resize', detectDevTool);
window.addEventListener('mousemove', detectDevTool);
window.addEventListener('focus', detectDevTool);
window.addEventListener('blur', detectDevTool);
}
//-
});
// Detect Key Shortcuts
window.addEventListener('keydown', function(e) {
if (
// CMD + Alt + I (Chrome, Firefox, Safari)
e.metaKey == true && e.altKey == true && e.keyCode == 73 ||
// CMD + Alt + J (Chrome)
e.metaKey == true && e.altKey == true && e.keyCode == 74 ||
// CMD + Alt + C (Chrome)
e.metaKey == true && e.altKey == true && e.keyCode == 67 ||
// CMD + Shift + C (Chrome)
e.metaKey == true && e.shiftKey == true && e.keyCode == 67 ||
// Ctrl + Shift + I (Chrome, Firefox, Safari, Edge)
e.ctrlKey == true && e.shiftKey == true && e.keyCode == 73 ||
// Ctrl + Shift + J (Chrome, Edge)
e.ctrlKey == true && e.shiftKey == true && e.keyCode == 74 ||
// Ctrl + Shift + C (Chrome, Edge)
e.ctrlKey == true && e.shiftKey == true && e.keyCode == 67 ||
// F12 (Chome, Firefox, Edge)
e.keyCode == 123 ||
// CMD + Alt + U, Ctrl + U (View source: Chrome, Firefox, Safari, Edge)
e.metaKey == true && e.altKey == true && e.keyCode == 85 ||
e.ctrlKey == true && e.keyCode == 85
) {
e.preventDefault();
return false;
}
});
</script>
개발자 도구 감지 출처:
https://dev.to/composite/a-simple-way-to-detect-devtools-2ag0
###추가: 개발자도구 사용을 완벽하게 막는 방법을 찾아서 링크를 추가합니다.###
728x90
반응형
LIST
'javascript' 카테고리의 다른 글
크롬 개발자 도구 차단 2, Detect browser developer tools by javascript 2(chrome, firefox, Edge) (2) | 2022.10.25 |
---|---|
javascript D-Day 날짜계산 일,시,분,초 (0) | 2022.10.18 |
window.location.href를 이용한 Query String get(),set() (0) | 2022.09.27 |
URL location.pathname으로 구분 처리를 해야 할 경우... (1) | 2022.09.23 |
html 특정 영역 window.print 시 마지막 공백 페이지 제거 하기 (0) | 2022.09.16 |
Comments