优质VPS推荐
VPS优惠 评测

用php验证域名授权的多种方法

用php做一个域名验证授权,可以获取正在使用当前php文件的域名,可以在服务验证端是否加入黑名单来限制php文件的使用,本代码适用于无法确定服务稳定性的,如果链接到服务端就会判断,如果服务端无响应,则直接通过

服务端

<?php
// 获取 POST 请求中的域名
$requestedDomain = $_POST['domain'];

// 示例:定义黑名单域名列表
$blacklist = ['blocked-domain.com', 'example.com'];

// 检查域名是否在黑名单中
if (in_array($requestedDomain, $blacklist)) {
    $response = ['status' => 'blocked', 'message' => '你的域名是黑名单.'];
} else {
    $response = ['status' => 'allowed'];
}

// 返回 JSON 响应
header('Content-Type: application/json');
echo json_encode($response);
?>

验证代码示例1:

public function adds()
{
    // 获取当前域名
    $currentDomain = $_SERVER['HTTP_HOST'];

    // 指定验证脚本的 URL
    $validateUrl = 'http://your-domain.com/validate_domain.php';

    // 创建 cURL 请求
    $ch = curl_init($validateUrl);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['domain' => $currentDomain]));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // 执行 cURL 请求并获取响应
    $response = curl_exec($ch);

    // 关闭 cURL 请求
    curl_close($ch);

    // 解析 JSON 响应
    $jsonResponse = json_decode($response, true);

    // 根据响应判断是否允许访问
    if ($jsonResponse['status'] === 'blocked') {
        // 域名在黑名单中,返回提示消息
        return $jsonResponse['message'];
    } else {

//以下这段是验证通过后执行你的文件
        // 域名允许访问,渲染添加活动页面
        return $this->fetch('/adds');
    }
//执行文件结束

}

验证代码示例2: 验证链接放在指定的php文件,

//验证链接文件
<?php
$validateUrl = 'http://your-domain.com/validate_domain.php';
?>
public function adds()
{
    // 获取当前域名
    $currentDomain = $_SERVER['HTTP_HOST'];

    // 包含验证脚本 URL 的 PHP 文件
    include 'validate_url.php';

    // 创建 cURL 请求
    $ch = curl_init($validateUrl);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['domain' => $currentDomain]));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // 执行 cURL 请求并获取响应
    $response = curl_exec($ch);

    // 关闭 cURL 请求
    curl_close($ch);

    // 解析 JSON 响应
    $jsonResponse = json_decode($response, true);

    // 根据响应判断是否允许访问
    if ($jsonResponse['status'] === 'blocked') {
        // 域名在黑名单中,返回提示消息
        return $jsonResponse['message'];
    } else {

//以下这段是验证通过后执行你的文件
        // 域名允许访问,渲染添加活动页面
        return $this->fetch('/adds');
    }
//执行文件结束

}

验证代码示例3: 验证链接放在指定的php文件, 增加验证 php文件 是否被删除

public function adds()
{
    // 获取当前域名
    $currentDomain = $_SERVER['HTTP_HOST'];

    // 构建 validate_url.php 文件路径
    $validateUrlPath = __DIR__ . '/../validate_url.php';

    // 检查 validate_url.php 文件是否存在
    if (file_exists($validateUrlPath)) {
        // 包含验证脚本 URL 的 PHP 文件
        include $validateUrlPath;

        // 创建 cURL 请求
        $ch = curl_init($validateUrl);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['domain' => $currentDomain]));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // 执行 cURL 请求并获取响应
        $response = curl_exec($ch);

        // 关闭 cURL 请求
        curl_close($ch);

        // 解析 JSON 响应
        $jsonResponse = json_decode($response, true);

        // 根据响应判断是否允许访问
        if ($jsonResponse['status'] === 'blocked') {
            // 域名在黑名单中,返回提示消息
            return $jsonResponse['message'];
        } else {


//以下这段是验证通过后执行你的文件
        // 域名允许访问,渲染添加活动页面
        return $this->fetch('/adds');
    }
//执行文件结束


    } else {
        // validate_url.php 文件不存在,输出错误提示
        return 'Error: Validation file not found.';
    }
}

验证代码示例4: 验证链接放在指定的php文件, 增加验证 php文件 是否被删除,增加验证 php文件 的hash值文件是否被篡改

public function adds()
{
    // 获取当前域名
    $currentDomain = $_SERVER['HTTP_HOST'];

    // 构建 validate_url.php 文件路径
    $validateUrlPath = __DIR__ . '/../validate_url.php';

    // 预期的 validate_url.php 文件的哈希值(根据实际情况设置)
    $expectedHash = 'your_expected_hash_value_here';

    // 检查 validate_url.php 文件是否存在
    if (file_exists($validateUrlPath)) {
        // 计算文件的哈希值
        $fileHash = hash_file('sha256', $validateUrlPath);

        // 检验哈希值
        if ($fileHash !== $expectedHash) {
            // 哈希值不匹配,可能文件已被篡改
            return 'Error: Validation file hash mismatch.';
        }

        // 包含验证脚本 URL 的 PHP 文件
        include $validateUrlPath;

        // 创建 cURL 请求
        $ch = curl_init($validateUrl);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['domain' => $currentDomain]));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // 执行 cURL 请求并获取响应
        $response = curl_exec($ch);

        // 关闭 cURL 请求
        curl_close($ch);

        // 解析 JSON 响应
        $jsonResponse = json_decode($response, true);

        // 根据响应判断是否允许访问
        if ($jsonResponse['status'] === 'blocked') {
            // 域名在黑名单中,返回提示消息
            return $jsonResponse['message'];
        } else {
            // 域名允许访问,渲染添加活动页面
            return $this->fetch('/adds');
        }
    } else {
        // validate_url.php 文件不存在,输出错误提示
        return 'Error: Validation file not found.';
    }
}
赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《用php验证域名授权的多种方法》
文章链接:https://www.tianyanjie.com/1827.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册