chaihongjun.me

防止Robots协议泄漏网站隐私

市场上CMS程序大多可以通过robots.txt文件去判断,比如dedecms:

User-agent: * 
Disallow: /plus/ad_js.php
Disallow: /plus/advancedsearch.php
Disallow: /plus/car.php
Disallow: /plus/carbuyaction.php
Disallow: /plus/shops_buyaction.php
Disallow: /plus/erraddsave.php
Disallow: /plus/posttocar.php
Disallow: /plus/disdls.php
Disallow: /plus/feedback_js.php
Disallow: /plus/mytag_js.php
Disallow: /plus/rss.php
Disallow: /plus/search.php
Disallow: /plus/recommend.php
Disallow: /plus/stow.php
Disallow: /plus/count.php
Disallow: /include
Disallow: /templets

从上面的协议内容可以看到这个网站一定是dedecms内核的。然而,针对dedecms系统的漏洞,网络上暴露的比较多,如果从一开始就让人无法识别是否是dedecms后台,那么一定是极大的降低了网站被黑的危险。

防止Robots协议泄漏网站隐私

下面的代码起到的作用是,当非蜘蛛访问robots.txt的时候,返回404页面,当是蜘蛛访问的时候则返回正常的robots.txt内容。

#如果没有在UA中匹配到蜘蛛关键词,那么设置 deny_robots变量为yes
if ($http_user_agent !~* "spider|bot") {
    set $deny_robots 'yes';
}
 
#如果请求的是robots.txt,并且匹配到了蜘蛛,则返回403
location = /robots.txt { 
    if ($deny_robots = 'yes') {
        return 404;
    }
}


知识共享许可协议本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。作者:柴宏俊»