功能预览
草稿或待发布内容带预览参数的链接会不会被爬虫抓到,取决于三件事:地址能不能被猜到、抓取规则有没有覆盖它、服务端读详情时是否校验状态。抓取排除规则只是建议,挡不住已经被分享出去的地址;真正的收口要落在状态校验与预览参数只在授权会话里生效这两条上,改完再用搜索引擎站点信息核对有没有漏页。
草稿或待发布内容带预览参数的链接会不会被爬虫抓到,这个问题不能只看抓取规则,要拆成三层看:地址能不能被猜到、抓取层面有没有挡住、服务端读这篇文档时有没有校验状态。三层里只有第三层是真正的访问控制,前两层都是降低暴露概率。
预览链接的外泄路径通常不是爬虫主动扫到的,而是被人发出去的:把带参数的地址贴进聊天窗口、写进公开文章、发到社交平台,或者在分享环节被转发。一旦离开内网语境,它就成了一个普通可访问地址,任何抓取程序顺着外链都能拿到。另一条路径是地址可猜:如果预览参数是简短递增的数字或者能枚举的形式,遍历成本很低。所以收口的起点不是「爬虫会不会来」,而是「这个地址被拿到之后,服务端认不认它」。
后台的 Robots 配置项能下发排除规则,它的作用是让遵守规则的抓取程序不去请求指定路径。它的边界要清楚:一是它按路径与程序标识表达意图,管不到已经带在 URL 里的单个预览地址,除非整个目录都被排除;二是它是建议而不是强制,不遵守的抓取方照样能请求;三是把敏感路径写进排除规则本身等于公开声明「这里有后台目录」,反而给探测指了路。所以排除规则适合挡整类目录,不适合当某一篇草稿的保护锁。
站内文档分成正式文档、草稿、待发布、回收站几种状态,删除正式文档是移入回收站而不是物理删除,这意味着「能不能读到」这件事必须按状态判断,而不是按地址判断。合理做法是把校验放在读详情的那一步:状态不是正式文档时,只有携带有效授权会话的请求才返回内容;匿名请求一律走不可见处理。预览参数只在授权会话里生效,链接被转发出去也就只是一个打不开的地址。这一层和伪静态规则无关——伪静态只决定地址长什么样,不决定谁有权看到内容,两者不要混为一谈。
| 收口层 | 起作用的方式 | 典型失效 |
|---|---|---|
| 地址不可猜 | 预览参数难以枚举 | 参数短、可递增遍历 |
| 抓取排除 | 遵守规则的抓取方不请求 | 已被外链带出、不遵守者照样抓 |
| 状态校验 | 服务端按状态与身份返回 | 只靠参数放行,匿名可读 |
表里第三行是能兜住前两行的那一层,前两层失效时它仍然生效。
第一步用未登录的新会话打开预览地址,确认返回的不是正文;第二步登录后台后取同一地址,确认预览可见;第三步在搜索引擎侧查站点信息,看有没有草稿标题被收录的痕迹。发现已被收录时,除了改配置,还要处理外链来源,把带参数的地址从公开页面撤掉。
问:把后台目录整个写进排除规则安全吗? 答:不更安全。排除规则是抓取建议,同时向外部标明了这个路径存在,入口防护要靠服务端鉴权。
问:草稿没发布,评论和留言能不能被匿名读到? 答:这属于同一类状态校验问题,要按文档状态判断可见性,而不是按链接有没有人知道。
问:预览参数换个长随机串就够了吗? 答:不够。长随机串只提高猜测成本,转发出去仍然可读;要不要给内容,得由服务端按会话与状态决定。
问:删掉的草稿需要额外处理吗? 答:删除是移入回收站,恢复能力保留,但预览地址应当随着状态变化一并失效。
预览
用 AI 辅助改模板,改动要落回站点模板文件并即时验证才会生效。站内路径分四种提需求来源:可视化模板编辑、技能、AI Chat、外部客户端经 MCP 接入。共同步骤是描述需求、生成或修改代码、核对落盘、再验证首页与列表页;技能层覆盖模板开发与 API 开发两类任务。
预览
备份、升级这类全站级操作接口默认不对外开放,收的是「一旦被调用就影响整站」的风险面。默认关闭的不是某个功能,而是全站级动作这一档,需要显式开启。站内工具面按意图目录收敛,写操作在一个回合里合并确认,高危域默认关闭、按需开启,把可调用面压到最小。
预览
后台登录状态多久失效一次,本质是在权衡两个方向:会话越长操作越顺,但凭证被盗后可被使用的窗口也越长。签名令牌自身带过期语义,配合按意图域设置的接口暴露范围与回合级操作确认,可以把长会话的风险压回可接受范围。一次高危修复里轮换服务端签名密钥和修改管理员口令要一起做,只改一项等于留了半边门。