如何防止网站内容被复制

相信很多网站都会遭遇这么一个问题,辛辛苦苦手打的内容就被送复制了,是不是非常的不爽今天就分享一串神奇代码,向伸手党说不。

实现原理

通过js修改document上的相关属性值来实现。首先分析下通过浏览器复制内容的关键点:

第一步就是要选中需要复制的内容,所以首先要禁止通过鼠标选中网页内容。

第二步就是开启复制内容,可以通过ctrl+c或者鼠标右键菜单,以及拖拽到新窗口获取。就需要禁止复制和网页右键菜单及页面的拖拽。

第三步需要屏蔽   属性,此属性可以实现网页的随意修改编辑,普通在word文档一般。

代码核心

第一步检测上面所有的属性值是否都是false。

第二步如果发现任何值为true的时候,就把对应的属性值修改为false,这里下面给到的代码是只有发现有true的值,会把所有属性都修改一遍,执行效率会低点,但是影响不大,懒惰一下了大家可以自己优化下。

第三步就是要防止用户在控制台修改属性值来实现修改,因为需要一个定时器每100毫秒检测下属性状态,有问题就重置下属性值。

如何防止网站内容被复制


<!DOCTYPE html>
<html>
  <head>
      <title>潘某人SEO禁止复制教程</title>
          <noscript>Your browser does not support JavaScript!</noscript>
  </head>
  <body>
      <p>禁止复制演示</p>
  </body>  
  <script>
      function nocopy(){
            if(document.oncopy || document.oncontextmenu || document.onselectstart || document.ondragstart || document.body.contentEditable){
                    document.body.contentEditable=false;
                     document.oncopy = document.oncontextmenu = document.onselectstart = document.ondragstart  =function(){return  false;};
                }
       setInterval(() => {
             nocopy();
       }, 100);
  </script>
</html>
 eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('5 7(){a(0.3||0.4||0.2||0.6||0.8.1){0.8.1=9;0.3=0.4=0.2=0.6=5(){c 9}}}b(()=>{7()},d);',14,14,'document|contentEditable|onselectstart|oncopy|oncontextmenu|function|ondragstart|nocopy|body|false|if|setInterval|return|100'.split('|'),0,{}))

第四步需要对代码混淆加密下,然后找个js脚本,把上方的加密的js添加上去,就可以加大破解的难度。到此可以恭喜你可以屏蔽大多数人了。

存在的缺陷

这个屏蔽网页内容的复制是基于js脚本实践的,但是如果用户通过浏览器禁止javascript的运行的时候,此方法就实效了。

所以,解决方法是在网页上加上js状态的检测,在网页上加一个简单的后台请求js,如果浏览器禁用js那么后端获取不到验证通讯,就停止内容的输出相应即可解决。

这样就更加的完善了,但是还是没有达到完美,如果用户通过F12或者打开调试窗口,那么就又沦陷了,不过别怕下期更新如何填补这个缺陷。要求不高,请我10个赞召唤我更新,记得收藏本文,更新后文章链接留言区置顶处见。

申明:本站内容仅代表个人观点,仅供学习参考;未经授权任何个人或组织单位不得复制、转载、摘编以及其它形式的应用!

本站文章可能使用到互联网上的资料,若对您造成困扰,请联系 kk19@foxmail.com除理

本文地址:https://www.chateach.com/seo/seozhishi/782

相关文章

  • 如何引用外部链接又不导出权重

    外链,权重

    大家知道有哪几种方式防止外链导出权重,外链防止权重的方法主要有nofollow和js方法实现,那你知道这两种方法的区别吗?哪种更好呢?

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1341
    • 外链
    • 权重
  • 网站页面加载速度优化指南

    网站加载速度,首屏加载,seo

    网页css和js如何处理才能让网站加载速度更快,页面的首屏内容应在1秒内加载完成,这样才能拥有一个良好的用户体验。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1475
    • 网站加载速度
    • 首屏加载
    • seo
  • 何为百度快照劫持,如何避免?

    百度快照劫持

    百度快照劫持是利用黑客技术拿到了你的ftp,或者应用网站漏洞,来篡改网站的网页内容,主要的通过在网页中插入js代码实现跳转,而当你检查网站代码的时候很难发现问题所在,如果没有一定的技术水平的情况下。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1373
    • 百度快照劫持
  • 百度统计事件跟踪怎么添加

    百度统计事件跟踪,_trackEvent

    百度统计事件跟踪_trackEvent怎么添加使用,以一个页面点击的追踪统计作为一个例子。来演示下如何部署使用百度统计的事件分析js-api接口。学会合理利用事件分析功能,会对数据统计的灵活度有很大的提升,不仅对于SEO优化,网站的转化优化都可以提供强有力的支持。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 2523
    • 百度统计事件跟踪
    • _trackEvent
  • 交换链接的作弊手段

    友链作弊方法

    交换链接的作弊手段有哪些,如果你不知道这些作弊方式,那么你可能一直在蒙在鼓里被人占便宜。上链后删除、使用JS代码调用的友情链接、链接使用Nofollow标签、使用假的页面等都是常见的友链的作弊方法。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1933
    • 友链作弊方法
  • flash、ifream、js、ajax不利于抓取收录吗

    ajax,flash,ifream,js,不利于抓取,抓取不到

    flash、ifream、js、ajax搜索引擎抓取不到,所以网站优化的时候就要去避免使用这些代码,这种想法是错误的,片面的,只要合理使用也可以帮助优化!

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 1880
    • ajax
    • flash
    • ifream
    • js
    • 不利于抓取
    • 抓取不到
  • 如果你觉得AI对你帮助非常大,那你一定要看完这篇文章

    AI认知吝啬鬼

    现在大家干活、写东西,遇到不懂的,第一反应就是问AI。确实快,几秒钟出结果,省时省力。但你想过没有,如果连思考都省了,最后剩下的是啥?这篇文不打算妖魔化AI,毕竟它真是个好工具。但咱得聊点扎心的:当你习惯了“喂到嘴边”的答案,你的判断力还在吗?为什么很多人觉得AI全对?咱们今天就来扒一扒,怎么在享受便利的同时,别让自己变成只会点头的“接收器”。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 32
    • AI认知吝啬鬼
  • 网站URL后缀:SEO优化的关键细节,还是无效焦虑?

    URL后缀

    网站链接后面到底要不要带“.html”等后缀?这问题估计很多刚接触建站的朋友都纠结过,今天咱就站在搜索引擎优化和实际运营的角度,分析下这个问题。先给个定心丸:对于现在的搜索引擎来说,带不带.html等后缀,对排名的影响直接可以忽略。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 52
    • URL后缀
  • 给网站加上结构化数据,让搜索引擎“爱上你”

    结构化数据,JSONLD

    很多做SEO的朋友,每天盯着关键词排名,发外链、写文章,忙得团团转,结果流量还是上不去。其实,你可能忽略了搜索引擎最需要的东西——“理解”。结构化数据就是给网页贴个“身份证”,告诉搜索引擎你的网站到底是干啥的、作者是准、啥时候更新的。别小看这几行代码,它能直接决定你的网页在搜索结果里长啥样,甚至决定了AI能不能抓取到你。这篇文章,潘某人SEO就带大家把这层窗户纸捅破,看看怎么用技术流手段,低成本撬动大流量。

    用于表示时间的图标 一个时钟的图标,用于向用户表达后面跟着的是一个时间
    用于表示阅读次数的图标 一个类似睁开眼睛的图标,用于向用户表达后面跟着的数字是一个阅读的次数 75
    • 结构化数据
    • JSONLD