原创学无止境

如何用robots.txt文件“隐藏”网站后台?

本文阅读 4 分钟
首页 学无止境 正文

如何用robots.txt文件“隐藏”网站后台?

网站根目录下的robots.txt文件是公开的。任何人都能通过“你的域名/robots.txt”直接访问查看,它本身没有隐藏功能。

如果在Disallow屏蔽规则里直接写上后台路径,这就好比“此地无银三百两”。这样做会主动把后台入口展示给所有访客,从而增加后台被恶意扫描和入侵的风险。

三步落地:兼顾收录效果和后台隐蔽性

第一步:配置基础版robots.txt,从源头杜绝路径泄露

User-agent: *
Allow: /
Sitemap: https://www.域名.com/sitemap.xml 

这样配置后,搜索引擎会正常抓取网站所有前台公开内容,不会影响SEO收录效果;同时任何人查看robots.txt都找不到任何和后台相关的线索,从源头避免地址泄露。

第二步:给后台页面加禁止收录标记,不用robots也能防收录

很多人想用robots屏蔽后台,本质是怕后台页面被搜索引擎搜到、暴露入口——这个需求完全不需要靠robots实现:直接给后台页面加禁收录标记,既能告诉搜索引擎不要收录后台,又完全不会泄露后台地址。根据自己的建站条件,二选一配置即可:

方式1:Meta标签

直接在后台登录页及所有后台内部页面的区域添加如下代码:

<meta name="robots" content="noindex, nofollow">

参数说明:
noindex:告诉搜索引擎不要将此页面编入索引。
nofollow:告诉搜索引擎不要追踪此页面上的任何链接。

方式2:Web服务器配置响应头

如果有服务器运维权限,直接在Web服务配置中给后台路径加响应头,不会因为后续模板改版、程序升级导致标签漏加,稳定性更强。 以Nginx为例,配置参考:

location ^~ /后台管理员目录/ { 
    add_header X-Robots-Tag "noindex, nofollow" always;     
    location ~ \.php$ {
        add_header X-Robots-Tag "noindex, nofollow" always; 
        include enable-php-pathinfo.conf;
    }
}

Nginx服务器配置网站响应头

补充:如果使用Apache、IIS等其他Web服务器,原理完全一致,只需要给对应后台路径添加值为noindex, nofollow的X-Robots-Tag响应头即可实现相同效果。

然后在服务器终端执行nginx -t校验语法,通过后执行nginx -s reload重载服务。

nginx -t
nginx -s reload

服务器终端执行nginx -t校验语法

第三步:做好基础安全加固,别把“隐藏路径”当唯一防线

不要使用/admin、/manage、/login这类全网通用的默认路径作为后台地址,建议改成带随机字符的自定义路径(比如/mgr_839a/这类无规律名称),同时给后台加上严格的账号密码登录验证。

原创文章,作者:狼道,如若转载,请注明出处:https://wolfsays.com/224.html
修改Typecho后台管理地址的方法
« 上一篇 07-24