안녕하세요. 팀드모네입니다.
홈페이지 보안 강화하기 위해, F12 및 개발자 도구를 통해
웹 페이지 소스코드를 보는 것을 막는 방법을 공유드립니다.
압니다. 페이스북 개발자도 말했지만, 이것은 외국에서도 큰 의미가 없다고 결론이 난 주제죠.
그러나, 해커를 완벽하게 막는 것이 어디있겠습니까?
귀찮게 하자는 것이죠. 애초에 보안이란 그런 것입니다.
귀찮에 귀찮음을 더해서 다른 먹거리(웹사이트)를 찾아 떠나시길 기원하는 것이죠.
🎯 F12 및 개발자 도구를 막는 소스코드
이 코드를 .html 또는 .jsp에 넣으시면 됩니다.
그러면, 사용자가 F12를 눌렀을 때 "개발자 도구(F12)는 사용하실 수 없습니다" 라는 알림창이 뜰 것입니다.
<script>
!function() {
// Detect Key Shortcuts f12 및 특수키 조합 막기
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;
}
});
//개발자도구 실행 감지.
console.log(Object.defineProperties(new Error, {
toString: {value() {(new Error).stack.includes('toString@') && alert('Safari devtools')}},
message: {
get() {
//개발자도구를 감지하면 그냥 홬 로갓 키겨 버리자.
alert('개발자 도구(F12)는 사용하실 수 없습니다.');
document.location.href="https://naver.com/"
}
},
}));
}();
</<script>
👉 Result
작업 결과는 다음과 같습니다. F12는 눌러지지 않으며, 어찌어찌 우회해서 F12를 누른다 할지라도 저런 알림창이 떠서 네이버로 강제이동하게 될 것입니다. 뭐.. 그렇습니다 ^ ^
블로그 방문해주셔서 감사합니다.
도움이 되셨으면 '좋아요'를 눌러주세요!
추가로 질문사항이 있으면 댓글 남겨주세요 :)