개발자 모드 막기, 코드보기 프로그램 차단
본문
[code]document.addEventListener('keydown', function(event) {
if(event.keyCode == 123) {
event.preventDefault();
return false;
}
});
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
});
if(window.console) {
console.log = function() {};
console.error = function() {};
console.warn = function() {};
console.info = function() {};
console.debug = function() {};
}
document.addEventListener('keydown', function(event) {
if (event.keyCode == 123) {
event.preventDefault();
return false;
}
});
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
});
if (window.console) {
console.log = function() {};
console.error = function() {};
console.warn = function() {};
console.info = function() {};
console.debug = function() {};
}
// 개발자 도구 사용 감지
if (isset($_SERVER['HTTP_USER_AGENT']) && stripos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false &&
stripos($_SERVER['HTTP_USER_AGENT'], 'Edg') === false &&
stripos($_SERVER['HTTP_USER_AGENT'], 'Firefox') === false &&
stripos($_SERVER['HTTP_USER_AGENT'], 'Safari') === false) {
// 개발자 도구 사용 시 오류 메시지 출력
http_response_code(403);
echo "개발자 도구 사용이 금지되어 있습니다.";
exit;
}
// 웹 수집 봇 감지
$search_bots = ['Googlebot', 'Bingbot', 'Yahoo!', 'Slurp', 'NaverBot', 'Yeti', 'Daum', 'Daumoa', 'DuckDuckBot', 'Mediapartners-Google', 'Google-Display-Ads-Bot']; // 감지할 검색 봇 리스트
$is_bot = false;
foreach ($search_bots as $bot) {
if (stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false) {
$is_bot = true;
break;
}
}
// 브라우저에서 JavaScript 사용 여부 확인
if (!$is_bot && (!isset($_SERVER['HTTP_USER_AGENT']) || !preg_match('/(?i)msie|trident|firefox|safari|opera|chrome/', $_SERVER['HTTP_USER_AGENT']))) {
// JavaScript를 사용하지 않는 경우 리다이렉트
header('Location: 차단 페이지');
exit;
}
?>[/code]
뤼튼의 도움을 받아 만들었습니다.
'Googlebot', 'Bingbot', 'Yahoo!', 'Slurp', 'NaverBot', 'Yeti', 'Daum', 'Daumoa', 'DuckDuckBot', 'Mediapartners-Google', 'Google-Display-Ads-Bot'에 추가로 수집 로봇 이름을 넣어서 차단 페이지오 리다이렉트를 방지할 수 있습니다. 문제라 하면 카카오톡의 채팅 시 콘텐츠를 가져오는 봇의 이름을 몰라 추가를 하지 못해 카카오톡에서는 링크 안의 콘텐츠가 깨져보이는 등 로봇의 정확한 이름을 알지 못한다면 웹 수집 최적화에 불편이 있는 정도가 있겠죠.
차단 페이지에 원하는 차단 페이지를 연결해주시면 됩니다.
좋아요0
이 글을 좋아요하셨습니다
등록된 댓글이 없습니다.