403 Forbidden 表示服务器理解了请求,但拒绝授权。如果请求带有凭据,服务器认为这些凭据权限不足,客户端不应简单地用相同凭据重复请求。服务器可以在响应体中说明原因,也可以不说明。
许多 Web 应用防火墙(WAF)、CDN 和机器人防护系统根据 IP 地址、国家/地区、User-Agent 或行为拦截请求时,返回的也是 403。不想透露受禁资源是否存在的服务器,可以改为返回 404 Not Found。
响应示例
HTTP
HTTP/1.1 403 Forbidden
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: Apache
Content-Type: text/html; charset=iso-8859-1
Content-Length: 198
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access this resource.</p>
</body></html> SEO 与重定向检测
搜索引擎不会将返回 403 的 URL 编入索引,已编入索引的 URL 如果开始返回 403,也会像其他 4xx 一样被移除。爬虫意外收到 403 的情况很常见,原因是防火墙规则、机器人防护或速率限制拦截了 Googlebot 的 IP 地址段或 User-Agent。Google 不建议用 401 或 403 来限制抓取,而是建议短时间内返回 429 或 503。
如果重定向检测返回 403,而页面在浏览器中正常,网站很可能在拦截自动化流量或来自数据中心的流量;TrueURL 会标记看起来像人机验证页面的响应。可以换一个 User-Agent 预设(例如 Googlebot),看看爬虫会得到什么结果,但要注意,许多网站会通过 IP 地址验证真正的 Googlebot。
常见原因与使用场景
- Web 应用防火墙或机器人防护(例如 Cloudflare 质询)拦截了客户端。
- 文件系统权限导致 Web 服务器无法读取文件。
- 目录列表已禁用,且文件夹中没有索引文件(例如 Apache 中的
Options -Indexes)。 - 访问受到 IP 地址、国家/地区或来源页(referrer)的限制,例如防盗链。