如何使用 JavaScript or/and PHP,检测 website/page 是否为 stolen/cloned,然后将 reader 重定向回我的网站

How to use JavaScript or/and PHP, to detect a website/page being stolen/cloned and then redirect reader back to my website

我发现了数百个我网站的克隆版本。

这样做的人正在使用一些代码克隆我的网页,将我的网站名称 mydomain.com 更改为 clone1.com、clone2.com、clone3.com 等,这使得不可能使用简单的 JS 或 PHP 来检查 header URL 是否 = 到 mysite.com 然后重定向。

它也不能使用 .htaccess

出于这个原因,我创建了这段代码:

<script type="text/javascript">
if (window.location.href== "http://clone1.com/cat1/{{{ $title->id }}}-{{ (Str::slug($title->title)) }}/cat2/{{ $se->n }}/cat3/{{ $episode->ep_n }}") 
{
   window.location.href = 'http://google.com/'; 
}
</script>

这个脚本完成了它的目的,但是太长而且限制性很强,因为它必须包含确切的 URL.

我想这样做:

<script type="text/javascript">
    if (window.location.href== "http://
//contains this part in its URL
clone1.com , clone2.com , clone3.com , clone4.... 
}}") 
    {
       window.location.href = 'http://google.com/'; 
    }
    </script>

我如何创建一个全局 JS (JavaScript),它会检测当前页面是否不在我的域中,然后将 reader 重定向到我的域和同一页面?

非常感谢

为什么不检查主机名是否是您的?

if(window.location.hostname != 'mysite.com'){
    window.location.href = 'http://google.com/';
}

1.最佳解决方案 - 早期检测

根据您的主要流量来源,可以根据他们的 IP、Headers、页面浏览量和其他数据检测谁在抓取您并阻止他们,使用 PHP &访问权限。

我非常喜欢 Whosebug 上的这个答案,它讨论了几乎所有可用于早期检测的选项。

How to detect fake users ( crawlers ) and cURL

2。开源内容管理系统的插件和扩展

WordPress

如果使用 Wordpress CMS,您可以尝试一些插件,例如 WordFence,它们可以检测并阻止假 Google 爬虫,根据页面浏览量进行阻止等

其他 CMS

如果您找不到适合您选择的 CMS 的类似解决方案,请考虑向社区寻求帮助来创建这样的解决方案,因为我相信很多人都可以从中受益。

3。 JavaScript

已被盗内容的解决方案

有时在 JS 中隐藏某些内容的最简单方法是通过混淆和隐藏在多个重要文件中来实际隐藏某些内容。例如,混淆您网站上的一些重要文件,否则网站将无法正常运行。

例如,在 header 的 JS 文件中的某处放置代码的混淆版本,使用任何在线免费服务混淆此代码或在 [=95] 下载您自己的库=]:

Non-Obfuscated:

w='mysite.com'; // Current URL e.g. 'mysite.com/category1/page2/'
function check_origin(){   
   var check = 587;
   if(window.location.hostname != w){
       window.location.href = w;
   }
   return check;
}
var check = check_origin();

混淆示例:

var _0x303e=["\x6D\x79\x73\x69\x74\x65\x2E\x63\x6F\x6D","\x68\x6F\x73\x74\x6E\x61\x6D\x65","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x68\x72\x65\x66"];w= _0x303e[0];function check_origin(){var check=587;if(window[_0x303e[2]][_0x303e[1]]!= w){window[_0x303e[2]][_0x303e[3]]= w};return check}var check=check_origin()

现在在一些 Footer JS 文件中添加额外的代码,以验证上面的代码没有以任何方式被修改:

Non-Obfuscated 示例:

 if(w!=='mysite.com'||check == false || typeof check == 'undefined' || check !== 587 ){
    window.location.href = 'mysite.com';
}

混淆:

var _0x92bb=["\x6D\x79\x73\x69\x74\x65\x2E\x63\x6F\x6D","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x68\x72\x65\x66","\x6C\x6F\x63\x61\x74\x69\x6F\x6E"];if(w!== _0x92bb[0]|| check== false||  typeof check== _0x92bb[1]|| check!== 587){window[_0x92bb[3]][_0x92bb[2]]= _0x92bb[0]}

我使用了 Google 搜索结果中的免费在线服务“免费在线 JS 混淆器:

https://javascriptobfuscator.com/Javascript-Obfuscator.aspx

4.用可用的方法打击小偷,例如请求禁止搜索引擎 – 1998 年数字千年版权法

这里 blog-post 描述了当有人窃取您的内容时该怎么做。

https://lorelle.wordpress.com/2006/04/10/what-do-you-do-when-someone-steals-your-content/

您可以调查谁在这样做,并将他们报告给他们的合作伙伴、搜索引擎、广告商 - 以扰乱他们的业务。

根据他们的原籍国和您的原籍国,甚至有可能起诉他们并胜诉。