WordPress文章防复制代码

2019年8月26日09:19:01 1 101 views

WordPress文章防复制,使用JS代码就可以有效地防止别人直接复制拷贝文章,用frame标签引用你的文章时,会自动跳转到文章正常链接,同时禁止右键菜单。

WordPress文章防复制代码

代码一

打开当前主题头部模板header.php找到:<?php wp_head(); ?>将下面代码添加到后面:

  1. <script>
  2. // 禁止右键
  3. document.oncontextmenu = function() {
  4.     return false
  5. };
  6. // 禁止图片拖放
  7. document.ondragstart = function() {
  8.     return false
  9. };
  10. // 禁止选择文本
  11. document.onselectstart = function() {
  12.     if (event.srcElement.type != "text" && event.srcElement.type != "textarea" && event.srcElement.type != "password"return false;
  13.     else return true;
  14. };
  15. if (window.sidebar) {
  16.     document.onmousedown = function(e) {
  17.         var obj = e.target;
  18.         if (obj.tagName.toUpperCase() == "INPUT" || obj.tagName.toUpperCase() == "TEXTAREA" || obj.tagName.toUpperCase() == "PASSWORD"return true;
  19.         else return false;
  20.     }
  21. };
  22. // 禁止frame标签引用
  23. if (parent.frames.length > 0) top.location.replace(document.location);
  24. </script>

 

代码二

上面的方法查看源代码时有些乱,可以在当前主题目录新建一个名称为copyright.js文件,将下面代码添加进去:

  1. // 禁止右键
  2. document.oncontextmenu = function() {
  3.     return false
  4. };
  5. // 禁止图片拖放
  6. document.ondragstart = function() {
  7.     return false
  8. };
  9. // 禁止选择文本
  10. document.onselectstart = function() {
  11.     if (event.srcElement.type != "text" && event.srcElement.type != "textarea" && event.srcElement.type != "password"return false;
  12.     else return true;
  13. };
  14. if (window.sidebar) {
  15.     document.onmousedown = function(e) {
  16.         var obj = e.target;
  17.         if (obj.tagName.toUpperCase() == "INPUT" || obj.tagName.toUpperCase() == "TEXTAREA" || obj.tagName.toUpperCase() == "PASSWORD"return true;
  18.         else return false;
  19.     }
  20. };
  21. // 禁止frame标签引用
  22. if (parent.frames.length > 0) top.location.replace(document.location);

然后再将下面代码添加到当前主题函数模板functions.php的最后:

  1. function copyrightpro_scripts() {
  2.     wp_enqueue_script( 'copyright', get_template_directory_uri() . '/copyright.js', array(),  false );
  3. }
  4. if (! current_user_can('level_10') ) {
  5. add_action( 'wp_enqueue_scripts', 'copyrightpro_scripts' );
  6. }

代码中加了判断,管理员登录状态一下,防复制代码无效。

9月25号更新:以上代码添加后,对于使用begin主题“滑动解锁才能提交”这个功能会失效,造成评论无法提交的问题。只需删除“禁止图片拖放”这段功能代码即可恢复。删除代码如下:

  1. // 禁止图片拖放
  2. document.ondragstart = function() {
  3.     return false
  4. };

WordPress文章防复制代码

以上代码仅供参考,浏览器禁用JavaScript后,将失去效果。毕竟从技术层面来说,只防君子,不防小人!从体验来说,体验不是很好,毕竟互联网本来就是分享的价值观!

©里维斯社,本站推荐使用的主机:阿里云腾讯云;本站推荐使用的WP主题:WordPress主题

晨会游戏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar MAY的SEO博客 4

      我的网站也启用了防复制,文章被转走减少了很多,但同样影响了用户体验。