承接 sysborg/check-my-domain 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sysborg/check-my-domain

最新稳定版本:0.0.3

Composer 安装命令:

composer require sysborg/check-my-domain

包简介

A lightweight Laravel package for domain ownership verification using DNS TXT records.

README 文档

README

A lightweight and developer-friendly Laravel package for verifying domain ownership using DNS TXT records.

License Laravel

🚀 Features

  • 🔐 Verifies domain ownership via DNS TXT records.
  • ⚙️ Easily configurable and customizable.
  • 🔗 Prefix-based hashing for safe and unique TXT records.
  • ⚡ Simple to integrate into any Laravel project.

📦 Installation

composer require sysborg/check-my-domain

🛠️ Configuration

Optionally publish the configuration file:

php artisan vendor:publish --tag=check-my-domain-config

This will publish the file to: config/checkMyDomain.php

Example config (config/checkMyDomain.php)

return [

    'prefix' => 'sbv',

    'settings' => [
        'use-domain' => true,
    ],
];
Key Description
prefix Prefix used in the TXT record name/value (e.g., sbv=...)
use-domain If true, includes the domain name in the generated hash

🧠 Usage

Injecting the Service

use Facades\Sysborg\CheckMyDomain\Lib\Domain;

$domainService = Domain::methodName(...parameters);

Generating a TXT Record

$record = Domain::generateTxtRecord('example.com', 'user-123');

// Output: sbv=4f8a3bd9eabf3c22bb9a5e2dd5c03f4c8ae6d2ef9f709137b20a2fd4e9d1

Validating Against DNS

$isVerified = Domain::compareTxtRecord('example.com', $record);

if ($isVerified) {
    echo '✅ Domain verified successfully!';
} else {
    echo '❌ Domain verification failed.';
}

🧪 Testing

composer test

Or use PHPUnit directly if configured:

./vendor/bin/phpunit

📁 Directory Structure

src/
├── config/
│   └── checkMyDomain.php
├── Exceptions/
│   ├── InvalidDomainException.php
│   └── InvalidPrefixException.php
├── Lib/
│   └── Domain.php
├── Providers/
│   └── CheckMyDomainProvider.php

📚 How It Works

  1. The package generates a unique hash based on your prefix, user ID, domain, and timestamp.
  2. The user adds the TXT record to their DNS zone (e.g. sbv=abcdef123456...).
  3. You use compareTxtRecord() to query the domain and validate if the correct TXT record is present.

This makes it easy to verify domain ownership for:

  • User-generated domains
  • SaaS onboarding
  • API clients or webhook callbacks

🧩 Integration Ideas

  • 🔗 Connect to onboarding flows (verify user domains).
  • 🛡️ Add protection to webhook registration or integrations.
  • ⚙️ Automate DNS verification with APIs like Cloudflare.

👥 Credits

Maintained by Sysborg Created by Anderson Arruda

📄 License

MIT License. See LICENSE file for details.

统计信息

  • 总下载量: 294
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-07-23