codem / silverstripe-domain-validation
一组字段,包括可编辑的用户表单字段,通过 HTTPS 进行域名验证
v0.2
2019-03-12 06:07 UTC
Requires
- guzzlehttp/psr7: ~1.4
- kevinrob/guzzle-cache-middleware: ~3.2
- php-http/guzzle6-adapter: ~1.0
- silverstripe/cms: ~4.0
- silverstripe/framework: ~4.0
- silverstripe/userforms: ~5.0
Requires (Dev)
- phpunit/phpunit: ^3 || ^4 || ^5
This package is auto-updated.
Last update: 2024-09-21 10:15:50 UTC
README
此模块提供一组字段,允许通过 DNS over HTTPS 服务进行域名查找。
- 验证电子邮件字段 - 通过 MX 查询验证提供的电子邮件地址的域名部分
- 验证域名字段 - 通过配置的记录类型验证任何域名(默认:A)
- 可选择的查找字段 - 通过多个可选的记录类型验证任何域名
某些 API 如果域名或域名部分无效会拒绝请求,例如 user@examplecom 或 user@hotmailcom。使用此模块,您可以在提交或保存之前使用 DoH 检查值。
需求
Silverstripe 4 / see composer.json
功能
- 集成到 Cloudflare DNS over HTTPS
- 集成到 Google Public DNS over HTTPS
- 基于 TTL 进行缓存(Flysystem 中间件)
- 提供可验证电子邮件表单字段(MX 记录检查域名部分)以供表单使用
- 提供可验证域名表单字段(A 记录检查域名)
- 提供选择要检查域名对应 DNS 记录的表单字段
- 为
silverstripe/userforms
模块提供 EditableFormFields
基本 MX 验证
use Codem\DomainValidation\CloudflareDnsOverHttps;
...
$domain = "google.com"
$service = new CloudflareDnsOverHttps();
$service->setDomain($domain);
$answers = $service->performLookup('MX');
//OR shortcut
$service->hasMxRecord();
//OR compare priority and hostname exactly
$service->hasMxRecord('1 some.host');
基本 A + AAAA 验证
use Codem\DomainValidation\CloudflareDnsOverHttps;
...
$domain = "google.com"
$service = new CloudflareDnsOverHttps();
$service->setDomain($domain);
$results = [];
$results['AAAA'] = $service->performLookup('AAAA');
$results['A']= $service->performLookup('A');
表单字段使用
在源代码中查看 DomainValidationForm 以获取完整示例
用户表单字段
为 silverstripe/userforms 模块提供可编辑的表单字段
EditableSelectableLookupField
字段允许配置 DnsChecks 并进行严格检查。 ValidatedDomainField
允许配置记录类型和严格/非严格检查。
- 严格检查 - 查询必须返回每个请求记录类型的条目
- 非严格检查 - 查询可以返回任意数量的条目,只要字段验证为正常即可
安装
/path/to/php /path/to/composer require codem/silverstripe-domain-validation:^n.N
这是一个预发布版本,目前不在 Packagist 中。
作者
Codem
许可
见 LICENCE