如何通过ThinkPHP中间件设置特定域名访问限制?

2026-04-30 16:001阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计907个文字,预计阅读时间需要4分钟。

如何通过ThinkPHP中间件设置特定域名访问限制?

ThinkPHP 6 的中间件中,可以使用 `$request` 对象来获取请求信息。以下是使用 `$request` 的基本示例:

  • 推荐用 $request->domain()(TP6.1+),它自动剥离端口、转小写、处理 IP 地址,返回干净域名
  • 如果用 $request->header('host'),要手动 explode(':', ...)[0] 去端口,否则 localhost:8000localhost 会被当成两个不同域名
  • 本地开发时,浏览器常通过 127.0.0.1localhost 访问,但服务器部署后真实域名才生效,测试务必在同环境验证

如何配置白名单域名并做精确匹配

硬编码域名列表容易出错,建议把白名单写进配置文件(如 config/app.php'allowed_domains' => ['api.example.com', 'admin.example.com']),中间件里读取后做严格比对。别用 strpos() 或模糊匹配——example.com 会误放行 badexample.com

阅读全文
标签:PHPThinkPHP

本文共计907个文字,预计阅读时间需要4分钟。

如何通过ThinkPHP中间件设置特定域名访问限制?

ThinkPHP 6 的中间件中,可以使用 `$request` 对象来获取请求信息。以下是使用 `$request` 的基本示例:

  • 推荐用 $request->domain()(TP6.1+),它自动剥离端口、转小写、处理 IP 地址,返回干净域名
  • 如果用 $request->header('host'),要手动 explode(':', ...)[0] 去端口,否则 localhost:8000localhost 会被当成两个不同域名
  • 本地开发时,浏览器常通过 127.0.0.1localhost 访问,但服务器部署后真实域名才生效,测试务必在同环境验证

如何配置白名单域名并做精确匹配

硬编码域名列表容易出错,建议把白名单写进配置文件(如 config/app.php'allowed_domains' => ['api.example.com', 'admin.example.com']),中间件里读取后做严格比对。别用 strpos() 或模糊匹配——example.com 会误放行 badexample.com

阅读全文
标签:PHPThinkPHP