rollerworks/pdb-validator

PHP 域名解析验证器,用于 Symfony 验证组件

v1.0.2 2024-09-01 15:06 UTC

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\RollerworksPdbValidatorBundleRollerworks\Component\PdbSfBridge\Bundle\RollerworksPdbBundle

注意:不要忘记配置 RollerworksPdbBundle

需求

您至少需要 PHP 8.1,并配置由Rollerworks PdbSfBridge提供的 PdbManager。

基本用法

验证器设置

验证器需要通过 ConstraintValidatorFactory 进行注册,该包已经准备就绪可以使用。

DomainNameRegistrableValidatorDomainNameSuffixValidator 都需要一个 Rollerworks\Component\PdbSfBridge\PdpManager 实例传递给它们的构造函数。

约束

  • DomainNameRegistrable 约束有一个特定的选项 allowPrivate,它指定是否允许私有前缀(如 github.io)。默认为 false

  • DomainNameSuffix 约束有一个特定的选项 requireICANN,它配置是否需要与公共后缀列表 ICANN 部分中的匹配规则匹配的有效 TLD。默认为 true

    当设置为 false 时,后缀仍然需要存在。

版本控制

为了透明性和对发布周期的洞察,并努力保持向后兼容性,此包尽可能在语义版本控制指南下维护。

版本将按照以下格式编号

<major>.<minor>.<patch>

并按照以下指南构建

  • 破坏向后兼容性会提升主要版本(并重置次要版本和补丁)
  • 没有破坏向后兼容性的新功能会提升次要版本(并重置补丁)
  • 错误修复和其他更改会提升补丁

有关 SemVer 的更多信息,请访问 http://semver.org/

许可证

此库在MIT 许可证下发布。

贡献

这是一个开源项目。如果您想贡献,请阅读贡献指南。如果您正在提交拉取请求,请遵循提交补丁部分中的指南。