rollerworks / pdb-validator
PHP 域名解析验证器,用于 Symfony 验证组件
Requires
- php: ^8.1
- rollerworks/pdb-symfony-bridge: ^1.0
- symfony/validator: ^6.3 || ^7.0
Requires (Dev)
- phpunit/phpunit: ^10.4.2
- rollerscapes/standards: ^1.0
- symfony/framework-bundle: ^6.3 || ^7.0
- symfony/phpunit-bridge: ^6.3 || ^7.0
This package is auto-updated.
Last update: 2024-09-01 15:07:37 UTC
README
此包为 Symfony 验证组件提供公共领域后缀和顶级域名验证器。
允许验证以下内容(每个约束)
-
如果域名可注册(例如,你不能注册 name.github.io,因为这由 GitHub 等公共后缀管理,并且你不能使用自定义 TLD);
-
如果域名的公共后缀有效;
注意:这些约束由Rollerworks X509Validator使用,以确保在证书的主题中不使用无效的主机名。
安装
要安装此包,请将 rollerworks/pdb-validator
添加到您的 composer.json 文件中
$ php composer.phar require rollerworks/pdb-validator
现在,Composer 将自动下载所有必需的文件,并为您安装它们。
Symfony Flex(带有 contrib)假设启用 Bundle 并添加所需的配置。https://symfony.ac.cn/doc/current/bundles.html
否则启用 Rollerworks\Component\PdbValidator\Bundle\RollerworksPdbValidatorBundle
和 Rollerworks\Component\PdbSfBridge\Bundle\RollerworksPdbBundle
注意:不要忘记配置 RollerworksPdbBundle
。
需求
您至少需要 PHP 8.1,并配置由Rollerworks PdbSfBridge提供的 PdbManager。
基本用法
验证器设置
验证器需要通过 ConstraintValidatorFactory 进行注册,该包已经准备就绪可以使用。
DomainNameRegistrableValidator
和 DomainNameSuffixValidator
都需要一个 Rollerworks\Component\PdbSfBridge\PdpManager
实例传递给它们的构造函数。
约束
-
DomainNameRegistrable
约束有一个特定的选项allowPrivate
,它指定是否允许私有前缀(如 github.io)。默认为false
。 -
DomainNameSuffix
约束有一个特定的选项requireICANN
,它配置是否需要与公共后缀列表 ICANN 部分中的匹配规则匹配的有效 TLD。默认为true
。当设置为
false
时,后缀仍然需要存在。
版本控制
为了透明性和对发布周期的洞察,并努力保持向后兼容性,此包尽可能在语义版本控制指南下维护。
版本将按照以下格式编号
<major>.<minor>.<patch>
并按照以下指南构建
- 破坏向后兼容性会提升主要版本(并重置次要版本和补丁)
- 没有破坏向后兼容性的新功能会提升次要版本(并重置补丁)
- 错误修复和其他更改会提升补丁
有关 SemVer 的更多信息,请访问 http://semver.org/。
许可证
此库在MIT 许可证下发布。