当前位置:首页 > 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 中检查:

SetEnv ALLOWED_DOMAIN example.com

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;
}

使用正则表达式匹配域名

更灵活的域名匹配方式:

php实现指定域名

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 文件上传实现 HTML 表单设置 创建一个包含文件上传字段的 HTML 表单,确保表单的 enctype 属性设置为 multipart/form-data,这是文件上传必需的设置。 <…

基于php的设计与实现

基于php的设计与实现

PHP 设计与实现的关键要素 环境搭建与框架选择 PHP开发需配置服务器环境(如Apache/Nginx)、PHP版本(建议7.4+)及数据库(MySQL/MariaDB)。主流框架包括Laravel…

php实现上传图片

php实现上传图片

上传图片的基本流程 PHP 实现图片上传功能需要处理文件接收、验证、保存等步骤。以下是具体实现方法。 创建 HTML 表单 在 HTML 中创建一个表单,设置 enctype="multipart/…

php实现推送

php实现推送

PHP 实现推送功能的方法 PHP 实现推送功能可以通过多种方式完成,包括 WebSocket、Server-Sent Events (SSE)、长轮询或第三方推送服务。以下是几种常见的方法: 使用…

php mvc实现

php mvc实现

PHP MVC 实现步骤 模型(Model)层 模型负责数据处理和业务逻辑,通常与数据库交互。创建一个基类模型,其他具体模型继承它。 class Model { protected $db;…

php登陆功能实现

php登陆功能实现

实现PHP登录功能 数据库准备 创建一个用户表存储登录信息,基本字段包括用户名、密码(需加密)等: CREATE TABLE users ( id INT AUTO_INCREMENT PR…