본문으로 바로가기

안녕하세요. 오늘은 티스토리 마우스 우클릭 방지 및 금지 하는 방법에 대해서 알아보겠습니다.


우클릭 해제를 할 수 있는 웬만한 방법들이 통하지 않아 불펌을 방지 할 수 있는 초강력한 방법입니다.

Pig Toolbox 와 같은 크롬 확장프로그램으로도, 풀수 없으며,

1) 마우스 우클릭 방지 / 2) 드래그방지 / 3) 키보드방지(Ctrl+c,v 등등) 또한 되었습니다.


만약 크롬 설정에서 자바스크립트 허용을 차단으로 할경우에는

아래의 사이트로 이동시켜버립니다.

https://www.enable-javascript.com/ko/#developer


또한 새로고침 (F5) 키와 요소검사(F12) 키도 잠궈서,

크롬 개발자 툴로 접근을 못하도록 하였습니다.

크롬 요소검사 개발자 툴에서 Disable JavaScript을 체크해버릴 시에는.. 뚫려버리더군요.


하지만, 알툴바는 강력크했습니다.. ㅠ_ㅠ 알툴바 해제는 막을 수가 없더군요...

그것 외에는 다막히는 소스일겁니다.

우클릭방지_소크코드.txt

[스킨편집] html/css 에서 </body> 위에 붙여넣기 하면됩니다.

<style>부분은 따로 CSS에 붙여넣기 하셔도 됩니다.



<style type="text/css">
#wpcp-error-message {
    direction: ltr;
    text-align: center;
    transition: opacity 900ms ease 0s;
    z-index: 99999999;
}
.warning-wpcp {
    background:#ffecec url('https://tistory4.daumcdn.net/tistory/770263/skin/images/warning.png') no-repeat 10px 50%;
    border:1px solid #f5aca6;
}
.msgmsg-box-wpcp {
    border-radius: 10px;
    color: #555;
    font-family: Tahoma;
    font-size: 11px;
    margin: 10px;
    padding: 10px 36px;
    position: fixed;
    width: 255px;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -130px;
    -webkit-box-shadow: 0px 0px 34px 2px rgba(242,191,191,1);
    -moz-box-shadow: 0px 0px 34px 2px rgba(242,191,191,1);
    box-shadow: 0px 0px 34px 2px rgba(242,191,191,1);
}
.hideme {
    opacity: 0;
    visibility: hidden;
}
.showme {
    opacity:1;
    visibility: visible;
}
</style>
 <noscript><meta http-equiv="Refresh" content="0; URL=http://www.enable-javascript.com/ko/"></noscript>
<div id="wpcp-error-message" class="msgmsg-box-wpcp warning-wpcp hideme"><span>error: </span>Content is protected !!</div>
<script id="wpcp_disable_selection" type="text/javascript">
//<![CDATA[
var image_save_msg='You Can Not Save images!';
	var no_menu_msg='Context Menu disabled!';
	var smessage = "Content is protected !!";

function disableEnterKey(e)
{
	if (e.ctrlKey){
     var key;
     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox (97)
    //if (key != 17) alert(key);
     if (key == 97 || key == 65 || key == 16 || key == 67 || key == 99 || key == 88 || key == 80 || key == 120 || key == 26 || key == 85  || key == 86 || key == 83 || key == 43)
     {
          show_wpcp_message('You are not allowed to copy content or view source');
          return false;
     }else
     	return true;
     }
}

function disable_copy(e)
{	
	var elemtype = e.target.nodeName;
	var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);
	elemtype = elemtype.toUpperCase();
	var checker_IMG = '';
	if (elemtype == "IMG" && checker_IMG == 'checked' && e.detail >= 2) {show_wpcp_message(alertMsg_IMG);return false;}
	if (elemtype != "TEXT" && elemtype != "TEXTAREA" && elemtype != "INPUT" && elemtype != "PASSWORD" && elemtype != "SELECT" && elemtype != "OPTION" && elemtype != "EMBED")
	{
		if (smessage !== "" && e.detail == 2)
			show_wpcp_message(smessage);
		
		if (isSafari)
			return true;
		else
			return false;
	}	
}
function disable_copy_ie()
{
	var elemtype = window.event.srcElement.nodeName;
	elemtype = elemtype.toUpperCase();
	if (elemtype == "IMG") {show_wpcp_message(alertMsg_IMG);return false;}
	if (elemtype != "TEXT" && elemtype != "TEXTAREA" && elemtype != "INPUT" && elemtype != "PASSWORD" && elemtype != "SELECT" && elemtype != "OPTION" && elemtype != "EMBED")
	{
		//alert(navigator.userAgent.indexOf('MSIE'));
			//if (smessage !== "") show_wpcp_message(smessage);
		return false;
	}
}	
function reEnable()
{
	return true;
}
document.onkeydown = disableEnterKey;
document.onselectstart = disable_copy_ie;
if(navigator.userAgent.indexOf('MSIE')==-1)
{
	document.onmousedown = disable_copy;
	document.onclick = reEnable;
}
function disableSelection(target)
{
    //For IE This code will work
    if (typeof target.onselectstart!="undefined")
    target.onselectstart = disable_copy_ie;
    
    //For Firefox This code will work
    else if (typeof target.style.MozUserSelect!="undefined")
    {target.style.MozUserSelect="none";}
    
    //All other  (ie: Opera) This code will work
    else
    target.onmousedown=function(){return false}
    target.style.cursor = "default";
}
//Calling the JS function directly just after body load
window.onload = function(){disableSelection(document.body);};
//]]>
</script>
<script id="wpcp_disable_Right_Click" type="text/javascript">
	//<![CDATA[
	document.ondragstart = function() { return false;}
	/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	Disable context menu on images by GreenLava Version 1.0
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
	    function nocontext(e) {
	       return false;
	    }
	    document.oncontextmenu = nocontext;
	//]]>
</script>
<script>
	var timeout_result;
	function show_wpcp_message(smessage)
	{
		if (smessage !== "")
			{
			var smessage_text = '<span>Alert: </span>'+smessage;
			document.getElementById("wpcp-error-message").innerHTML = smessage_text;
			document.getElementById("wpcp-error-message").className = "msgmsg-box-wpcp warning-wpcp showme";
			clearTimeout(timeout_result);
			timeout_result = setTimeout(hide_message, 3000);
			}
	}
	function hide_message()
	{
		document.getElementById("wpcp-error-message").className = "msgmsg-box-wpcp warning-wpcp hideme";
	}
</script>
<script>
window.onkeydown = function() {
	var kcode = event.keyCode;
	if(kcode == 123 || kcode == 116) event.returnValue = false;
}
</script>
error: Content is protected !!