为了防止网站被恶意收集,需要了解大部分的收集方法和规则,这样才能反其道而行之,阻止和阻止收集。 有时我们费尽心思写了一些文章或者群发文章的内容,变成了别人的嫁衣,同时别人的收藏也增加了服务器的负担。 仔细想想,不值得。
子凡,我之所以决定做这个反收集的想法很久,是因为前段时间,一个网站不停的换IP来收集我们雷雪网的问答内容。 我禁用了一个IP,他更改了另一个IP,后来我封锁了该区域的所有IP段,基本上就是这样。 忙得不能每天都花时间看服务器IP和封IP对吧?
所以我终于下定决心要做这件事。 以前想在WordPress正文内容中随机插入网站名称的字样,然后通过内链样式隐藏,但是这样别人还是能收集到内容,所以一直耽误了。 做完这件事,我突然意识到收藏最重要的就是收藏规则,想要收藏得更好,就需要获取文章列表,现在很容易做到。
让我们简单地看一下科普。 收藏的时候,大部分人都是根据文章栏目和列表获取所收藏文章的URL链接,所以最重要的是翻页。 这也是几乎所有网站都把网站上所有文章都暴露出来的一种方式,所以最简单的解决办法就是不让网站列表无休止地翻页,这样即使能收集到几十条内容,整个内容 无法收集网站。
//WordPress 禁止翻页屏蔽/防采集
add_filter(/'pre_get_posts/',/'fanly_basic_query_posts/');
function fanly_basic_query_posts($wp_query) {
if($wp_query->is_admin || !$wp_query->is_main_query()) return;
if ($wp_query->is_home || $wp_query->is_archive || $wp_query->is_search) {
$paged = 10;//超过 10 页后就显示 404
if($paged && $wp_query->get(/'paged/') > $paged){
//404 页面
$wp_query->set_404();
status_header(404);
nocache_headers();
include(get_query_template(/'404/'));//需要主题的 404.php
die();
//404 页面
}
}
}
将上述代码复制到当前主题的functions.PHP文件中,可以实现当WordPress页面翻页超过10页时,会调用WordPress主题的404页面,可以通过修改paged参数值来自定义 修改翻页数的代码。
该代码将在所有列表页面上生效。 主页、文章档案(类别、标签、日期)、搜索页面等都一视同仁。 也可以根据自己的需要添加判断,根据不同的列表做出不同的限制。 不分享。
另外,如果你的翻译使用get_next_posts_link(string $label=null, int $max_page)翻页到下一页,还可以设置最大翻页,避免翻页死链接。
别看上面的代码行数,其实404页的整段都可以直接用跳转到首页,甚至直接用die直接结束,我这里分享只是为了好看 404页面结束。
如果想更好的防止WordPress被采集,还可以屏蔽feed、Sitemap、sitemap等。因为WordPress有翻页的页面参数,所以也可以屏蔽服务器上的路径。 如果收藏无法获得网站的完整列表链接,则基本上会阻止很大一部分收藏。
由于我们的 WordPress 交流群中有人问如何自定义特定列中被阻止页面的数量,所以让我们稍微修改一下。 代码中的数字“10”可以自定义,可以根据以下备注进行修改。
//WordPress 禁止翻页屏蔽/防采集(自动版本)
add_filter(/'pre_get_posts/',/'fanly_basic_query_posts/');
function fanly_basic_query_posts($wp_query) {
if($wp_query->is_admin || !$wp_query->is_main_query()) return;
$paged = $wp_query->get(/'paged/');
if (($wp_query->is_home && $paged > 10)//首页
|| ($wp_query->is_category(/'news/') && $paged > 10)//指定分类
|| ($wp_query->is_category && $paged > 10)//分类
|| ($wp_query->is_tag && $paged > 10)//标签
|| ($wp_query->is_author && $paged > 10)//作者
|| ($wp_query->is_archive && $paged > 10)//归档
|| ($wp_query->is_search && $paged > 10)//搜索
) {
//404 页面
$wp_query->set_404();
status_header(404);
nocache_headers();
include(get_query_template(/'404/'));//需要主题的 404.php
die();
//404 页面
}
}
好了,以上就是紫帆为WordPress反收藏提供的一段代码。 我觉得最实用和最好的防止收集的方法和解决方法是。 如果您有更好的解决方案,请留言告诉我。
感谢您的来访,获取更多精彩文章请收藏本站。

暂无评论内容