New Harmony
2016-05-15, 10:34 AM
不久前在论坛看到有人问一个问题,是关于怎么做才能防止zencart网站被别人采集 。当时的反应是:不可能防止!
为什么说不可能防止别人采集网站的内容呢?
做网站的我们都知道SEO推广网站的问题,那这个问题最基本的要求就是搜索引擎收录页面的内容,而搜索引擎,比如谷歌,收录网站的内容,这个过程其实就是采集网站的内容。所以这个问题其实很矛盾。
可能这个用户的意思是怎么防止用户复制粘贴网站的内容,这个如果对付一般的用户可以用JS实现禁止右键菜单,一些网站为了防止用户复制粘贴网站内容就是做了这个设置。
但是说到要防止采集的话,这样做是不可能的,如果真的采集内容的话,一般都是用程序来实现的,批量采集内容不可能靠人工去做的。而程序采集内容是不受JS的设置限制的,因为程序只要获取页面内容就可以解析出想要的东西了。
要想防止中国用户访问zencart网站的话,可以在程序做简单的屏蔽中文浏览器。具体的实现方法如下:
可以在index.php中添加下面的代码来屏蔽中文浏览器,这样的话,你也访问不了
// ------------------ 屏蔽中文浏览器 ------------------------
if(preg_match("/zh-cn/is",$_SERVER['HTTP_ACCEPT_LANGUAGE'])){
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
exit();
}
}
为什么说不可能防止别人采集网站的内容呢?
做网站的我们都知道SEO推广网站的问题,那这个问题最基本的要求就是搜索引擎收录页面的内容,而搜索引擎,比如谷歌,收录网站的内容,这个过程其实就是采集网站的内容。所以这个问题其实很矛盾。
可能这个用户的意思是怎么防止用户复制粘贴网站的内容,这个如果对付一般的用户可以用JS实现禁止右键菜单,一些网站为了防止用户复制粘贴网站内容就是做了这个设置。
但是说到要防止采集的话,这样做是不可能的,如果真的采集内容的话,一般都是用程序来实现的,批量采集内容不可能靠人工去做的。而程序采集内容是不受JS的设置限制的,因为程序只要获取页面内容就可以解析出想要的东西了。
要想防止中国用户访问zencart网站的话,可以在程序做简单的屏蔽中文浏览器。具体的实现方法如下:
可以在index.php中添加下面的代码来屏蔽中文浏览器,这样的话,你也访问不了
// ------------------ 屏蔽中文浏览器 ------------------------
if(preg_match("/zh-cn/is",$_SERVER['HTTP_ACCEPT_LANGUAGE'])){
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
exit();
}
}