当前位置:首页 > PHP

php实现指定域名

2026-01-30 05:59:35PHP

PHP 实现指定域名访问限制

在 PHP 中限制访问域名可以通过检查 $_SERVER['HTTP_HOST']$_SERVER['SERVER_NAME'] 来实现。以下是几种常见的实现方法:

检查当前访问域名并限制

$allowedDomains = ['example.com', 'www.example.com'];
$currentDomain = $_SERVER['HTTP_HOST'];

if (!in_array($currentDomain, $allowedDomains)) {
    header('HTTP/1.1 403 Forbidden');
    exit('Access denied');
}

使用 .htaccess 配合 PHP 限制

.htaccess 文件中设置环境变量,然后在 PHP 中检查:

php实现指定域名

SetEnv ALLOWED_DOMAIN example.com

PHP 代码:

php实现指定域名

if ($_SERVER['HTTP_HOST'] != getenv('ALLOWED_DOMAIN')) {
    die('Invalid domain');
}

动态获取允许的域名

如果允许的域名存储在数据库或配置文件中:

$allowedDomains = ['example.com', 'sub.example.com']; // 可从数据库读取
if (!in_array($_SERVER['HTTP_HOST'], $allowedDomains)) {
    header('Location: https://example.com/error');
    exit;
}

使用正则表达式匹配域名

更灵活的域名匹配方式:

if (!preg_match('/^(www\.)?example\.com$/', $_SERVER['HTTP_HOST'])) {
    die('Domain not allowed');
}

注意事项

  • HTTP_HOST 包含端口号(如 example.com:8080),需处理这种情况。
  • 在生产环境中建议结合 Web 服务器(如 Nginx/Apache)的配置进行限制,效率更高。
  • 如果使用 HTTPS,确保检查的是正确的域名,避免绕过。

标签: 域名php
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用原生PHP实现分页功能需要结合数据库查询和HTML展示。以下是核心实现步骤: 数据库查询与分页逻辑 // 连接数据库 $conn = new mysqli('loca…

php实现打印功能

php实现打印功能

PHP 实现打印功能的方法 PHP 可以通过多种方式实现打印功能,具体取决于打印的目标(如打印机、PDF、网页等)和需求(如直接打印、生成打印预览等)。以下是几种常见的实现方式: 使用 JavaS…

php实现socket

php实现socket

PHP 实现 Socket 通信 PHP 可以通过 socket 扩展实现网络通信,支持 TCP/UDP 协议。以下是实现 Socket 通信的核心步骤和代码示例。 创建 TCP 服务器 //…

php实现websocket

php实现websocket

PHP 实现 WebSocket WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。PHP 可以通过多种方式实现 WebSocket 功能,以下是几种常见的方法: 使用 Ratc…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素…

php实现

php实现

PHP 实现的基本方法 PHP 是一种服务器端脚本语言,广泛用于 Web 开发。以下是 PHP 实现的一些常见方法。 变量与数据类型 PHP 变量以 $ 开头,支持多种数据类型: $nam…