技术日志

记录分享邓杰律师从事网络技术工作点点滴滴。

使用nginx屏蔽搜索引擎访问phpcms和PBootCMS程序中的搜索模块

点击复制标题网址

——温馨提示——

已复制到剪贴板,可粘贴到下一处。


时间:   查看:1023

编者按:

站内搜索是给“人”用的功能,不是给“搜索引擎”看的内容。让爬虫抓取搜索结果页,就像把图书馆的“检索终端屏幕截图”当成正式出版物提交给国家图书馆——不仅无用,还会污染整个系统。同时还可降低搜索引擎无效访问搜索模块带来的带宽占用。

站内搜索是给“人”用的功能,不是给“搜索引擎”看的内容。

让爬虫抓取搜索结果页,就像把图书馆的“检索终端屏幕截图”当成正式出版物提交给国家图书馆——不仅无用,还会污染整个系统。同时还可降低搜索引擎无效访问搜索模块带来的带宽占用。下面给出实现代码:

# 屏蔽爬虫访问 PHPCMS (m=search) 和 PBootCMS (keyword=) 搜索接口

if ($args ~* "(m=search|keyword=)") {

    set $block_search 1;

}

# 匹配常见爬虫/自动化工具特征(不区分大小写)

if ($http_user_agent ~* "(bot|spider|crawler|crawl|slurp|wget|curl|python|java|httpclient|scrapy|puppeteer|headless|selenium|fetch|scan|spider|spider)" ) {

    set $block_search "${block_search}1";

}

# 如果两个条件都满足(URL 含搜索参数 + 是爬虫),则拦截

if ($block_search = "11") {

    return 410;

}


本文标签

发表评论:

评论记录:

未查询到任何数据!