Sử dụng CSS và JavaScript để chống sao chép
Minh Khang 8 năm trước

Sử dụng CSS và JavaScript để chống sao chép

Nối tiếp bài viết sử dụng jQuery để vô hiệu hóa chuột phải và sao chép nội dung bài viết, thì hôm nay mình lại nghiên cứu thêm cách sử dụng CSS và Javascript để chống sao chép bài viết từ trang web của bạn.

Mã nguồn này bao gồm cả CSS và Javascript, nếu bạn kết hợp cả 2 luôn thì nó sẽ rất hoàn hảo, ngăn chặn khách truy cập sao chép bài viết của bạn lung tung hoặc nhằm đem lại lợi ích cho họ.

Vô hiệu hóa bôi đen bài viết

Chép đoạn CSS bên dưới vào trong cặp thẻ <style></style>
– Đoạn CSS này dùng để vô hiệu hóa bôi đen trong phần bài viết của bạn, nhưng bên ngoài vẫn bôi đen được, ngăn không cho người khác sao chép bài viết.

.post-body{
-webkit-user-select:none;
-khtml-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none }

– Nếu muốn vô hiệu hóa hết việc bôi đen toàn bộ trang web thì dùng đoạn CSS này

body{
-webkit-user-select:none;
-khtml-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none }

Vô hiệu hóa F12, Ctrl+U, Ctrl+Shift+I, Ctrl+S, Ctrl+Shift+C

Đoạn JavaScript dưới đây rất hữu ích trong việc ngăn khách truy cập xem mã nguồn của trang web bằng cách sử dụng phím tắt F12, Ctrl+U, Ctrl+Shift+I, Ctrl+S, Ctrl+Shift+C. Khi họ nhấn những phím này thì lập tức sẽ được đưa đến một trang web do mình chỉ định, trong bài viết này thì mình chỉ đưa về trang chủ thôi. Bạn có thể thay tên miền www.allfreevn.com thành của bạn nha.
Chèn đoạn Javascript này vào trước thẻ </body>

<script type='text/javascript'>
//<![CDATA[
shortcut={all_shortcuts:{},add:function(a,b,c){var d={type:"keydown",propagate:!1,disable_in_input:!1,target:document,keycode:!1};if(c)for(var e in d)"undefined"==typeof c[e]&&(c[e]=d[e]);else c=d;d=c.target,"string"==typeof c.target&&(d=document.getElementById(c.target)),a=a.toLowerCase(),e=function(d){d=d||window.event;if(c.disable_in_input){var e;d.target?e=d.target:d.srcElement&&(e=d.srcElement),3==e.nodeType&&(e=e.parentNode);if("INPUT"==e.tagName||"TEXTAREA"==e.tagName)return}d.keyCode?code=d.keyCode:d.which&&(code=d.which),e=String.fromCharCode(code).toLowerCase(),188==code&&(e=","),190==code&&(e=".");var f=a.split("+"),g=0,h={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\":"|"},i={esc:27,escape:27,tab:9,space:32,"return":13,enter:13,backspace:8,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,pd:34,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123},j=!1,l=!1,m=!1,n=!1,o=!1,p=!1,q=!1,r=!1;d.ctrlKey&&(n=!0),d.shiftKey&&(l=!0),d.altKey&&(p=!0),d.metaKey&&(r=!0);for(var s=0;k=f[s],s<f.length;s++)"ctrl"==k||"control"==k?(g++,m=!0):"shift"==k?(g++,j=!0):"alt"==k?(g++,o=!0):"meta"==k?(g++,q=!0):1<k.length?i[k]==code&&g++:c.keycode?c.keycode==code&&g++:e==k?g++:h[e]&&d.shiftKey&&(e=h[e],e==k&&g++);if(g==f.length&&n==m&&l==j&&p==o&&r==q&&(b(d),!c.propagate))return d.cancelBubble=!0,d.returnValue=!1,d.stopPropagation&&(d.stopPropagation(),d.preventDefault()),!1},this.all_shortcuts[a]={callback:e,target:d,event:c.type},d.addEventListener?d.addEventListener(c.type,e,!1):d.attachEvent?d.attachEvent("on"+c.type,e):d["on"+c.type]=e},remove:function(a){var a=a.toLowerCase(),b=this.all_shortcuts[a];delete this.all_shortcuts[a];if(b){var a=b.event,c=b.target,b=b.callback;c.detachEvent?c.detachEvent("on"+a,b):c.removeEventListener?c.removeEventListener(a,b,!1):c["on"+a]=!1}}},shortcut.add("Ctrl+U",function(){top.location.href="http://www.allfreevn.com/404"}),shortcut.add("F12",function(){top.location.href="http://www.allfreevn.com/"}),shortcut.add("Ctrl+Shift+I",function(){top.location.href="http://www.allfreevn.com/"}),shortcut.add("Ctrl+S",function(){top.location.href="http://www.allfreevn.com/"}),shortcut.add("Ctrl+Shift+C",function(){top.location.href="http://www.allfreevn.com/"});
//]]>
</script>

Vô hiệu hóa chuột phải bằng Javascript

Chèn đoạn Javascript vào trước thẻ </body>

<script type='text/JavaScript'>
//<![CDATA[
function killCopy(e){
return false
}
function reEnable(){
return true
}
document.onselectstart=new Function ("return false")
if (window.sidebar){
document.onmousedown=killCopy
document.onclick=reEnable
}
var message="NoRightClicking"; function defeatIE() {
if (document.all) {(message);return false;}}
function defeatNS(e) {
if (document.layers||(document.getElementById&&!document.all)) {
if (e.which==2||e.which==3) {(message);return false;}}}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);document.onmousedown=defeatNS;
}
else{
document.onmouseup=defeatNS;document.oncontextmenu=defeatIE;
}
document.oncontextmenu=new Function("return false")

checkCtrl=false $('*').keydown(function(e){
if(e.keyCode=='17'){ checkCtrl=false } }).keyup(function(ev){
if(ev.keyCode=='17'){ checkCtrl=false } }).keydown(function(event){
if(checkCtrl){
if(event.keyCode=='85'){ return false; } } })
//]]>
</script>

hoặc bạn có thể vô hiệu hóa chuột phải bằng đoạn mã đơn giản chèn trong thẻ <body> như sau

<BODY oncontextmenu="return false" onselectstart="return false" ondragstart="return false"> 

Lời kết

Hi vọng những cách trên có thể giúp ích cho bạn trong việc ngăn không cho người khác sao chép nội dung trong trang web của bạn. Tuy nhiên cách này cũng chỉ hạn chế việc họ lấy nội dung, sẽ làm tốn thời gian nhiều hơn, hi vọng vì thế mà nản chí, chứ nếu gặp cao thủ thì trước sau gì họ cũng lấy được mà thôi. Chúc bạn thành công.

161 lượt xem | 0 Bình luận
Tôi là Minh Khang là một tác giả trên web allfreevn.com. Tôi chuyên viết bài viết trong lĩnh vực Công nghệ thông tin và game. Tôi là một chuyên gia có kinh nghiệm và đam mê trong lĩnh vực này, với kiến thức sâu và khả năng áp dụng linh hoạt, tôi đã viết nhiều bài viết chất lượng về các khía cạnh khác nhau của công nghệ thông tin như thủ thuật, hướng dẫn cách làm thế nào... Cám ơn các bạn xem bài viết của tôi.

Bình luận gần đây