用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.';
}
}
评论前必须登录!
注册