Skip to content

Commit a2d5e44

Browse files
committed
[FEAT]: 취약점 수정
1 parent 8130331 commit a2d5e44

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

client/src/App.js

+84
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,93 @@ function App() {
2323
);
2424
const [counterValue, setCounterValue] = useState(0);
2525

26+
// useEffect(() => {
27+
// // 마우스 메뉴 막기
28+
// const handleContextMenu = (e) => {
29+
// e.preventDefault();
30+
// };
31+
// const handleKeyDown = (e) => {
32+
// if (
33+
// // CMD + Alt + I (Chrome, Firefox, Safari)
34+
// (e.metaKey && e.altKey && e.keyCode === 73) ||
35+
// // CMD + Alt + J (Chrome)
36+
// (e.metaKey && e.altKey && e.keyCode === 74) ||
37+
// // CMD + Alt + C (Chrome)
38+
// (e.metaKey && e.altKey && e.keyCode === 67) ||
39+
// // CMD + Shift + C (Chrome)
40+
// (e.metaKey && e.shiftKey && e.keyCode === 67) ||
41+
// // Ctrl + Shift + I (Chrome, Firefox, Safari, Edge)
42+
// (e.ctrlKey && e.shiftKey && e.keyCode === 73) ||
43+
// // Ctrl + Shift + J (Chrome, Edge)
44+
// (e.ctrlKey && e.shiftKey && e.keyCode === 74) ||
45+
// // Ctrl + Shift + C (Chrome, Edge)
46+
// (e.ctrlKey && e.shiftKey && e.keyCode === 67) ||
47+
// // F12 (Chome, Firefox, Edge)
48+
// e.keyCode === 123 ||
49+
// // CMD + Alt + U, Ctrl + U (View source: Chrome, Firefox, Safari, Edge)
50+
// (e.metaKey && e.altKey && e.keyCode === 85) ||
51+
// (e.ctrlKey && e.keyCode === 85)
52+
// ) {
53+
// e.preventDefault();
54+
// }
55+
// };
56+
57+
// document.addEventListener("contextmenu", handleContextMenu);
58+
// document.addEventListener("keydown", handleKeyDown);
59+
60+
// return () => {
61+
// document.removeEventListener("contextmenu", handleContextMenu);
62+
// document.removeEventListener("keydown", handleKeyDown);
63+
// };
64+
// }, []);
65+
66+
useEffect(() => {
67+
// 개발자 도구 검사
68+
const detectDevTool = (allow) => {
69+
let a = false;
70+
if (isNaN(+allow)) allow = 100;
71+
const start = +new Date();
72+
debugger;
73+
const end = +new Date();
74+
if (isNaN(start) || isNaN(end) || end - start > allow) {
75+
alert("DEVTOOLS detected. all operations will be terminated.");
76+
window.location.href = "/";
77+
}
78+
};
79+
80+
if (window.attachEvent) {
81+
if (
82+
document.readyState === "complete" ||
83+
document.readyState === "interactive"
84+
) {
85+
detectDevTool();
86+
window.attachEvent("onresize", detectDevTool);
87+
window.attachEvent("onmousemove", detectDevTool);
88+
window.attachEvent("onfocus", detectDevTool);
89+
window.attachEvent("onblur", detectDevTool);
90+
} else {
91+
setTimeout(arguments.callee, 0);
92+
}
93+
} else {
94+
window.addEventListener("load", detectDevTool);
95+
window.addEventListener("resize", detectDevTool);
96+
window.addEventListener("mousemove", detectDevTool);
97+
window.addEventListener("focus", detectDevTool);
98+
window.addEventListener("blur", detectDevTool);
99+
}
100+
}, []);
101+
26102
useEffect(() => {
27103
fetchCounterValue();
28104
egg();
105+
106+
window.addEventListener("devtoolschange", (event) => {
107+
if (event.detail.isOpen) {
108+
console.log("Developer tools opened");
109+
} else {
110+
console.log("Developer tools closed");
111+
}
112+
});
29113
}, []);
30114

31115
const fetchCounterValue = async () => {

0 commit comments

Comments
 (0)