techzolab / toolsspfcheck
检查IP地址是否与域名SPF记录匹配
v1.0.2
2022-12-07 11:15 UTC
Requires
- php: >=5.4
- purplepixie/phpdns: ^2.0
- symfony/http-foundation: 2.8.* || ^3.0 || ^4.0 || ^5.0
Requires (Dev)
- phpunit/phpunit: 4.8.* || 7.*
- satooshi/php-coveralls: ~1.0
- symfony/phpunit-bridge: ^4.2 || 5.*
- symfony/yaml: ~2.1
README
一个简单的库,用于检查IP地址是否与域名的 SPF 记录匹配
安装
此库通过Composer提供。运行 composer require techzolab/toolsspfcheck
或将其添加到您的 composer.json 中
{ "require": { "techzolab/toolsspfcheck": "^1" } }
用法
创建一个 ToolsSPFCheck 的新实例。构造函数需要一个 DNSRecordGetterInterface。目前您有两个选项
DNSRecordGetter
使用PHP的DNS功能来获取数据DNSRecordGetterDirect
使用 PHP DNS Direct Query Module 来获取数据。
<?php use Nzldev\ToolsSPFCheck\ToolsSPFCheck; use Nzldev\ToolsSPFCheck\DNSRecordGetter; require('vendor/autoload.php'); $checker = new ToolsSPFCheck(new DNSRecordGetter()); // Uses php's dns_get_record method for lookup. var_dump($checker->isIPAllowed('127.0.0.1', 'test.com')); // or $checker = new ToolsSPFCheck(new DNSRecordGetterDirect("8.8.8.8")); // Uses phpdns, allowing you to set the nameserver you wish to use for the dns queries. var_dump($checker->isIPAllowed('127.0.0.1', 'test.com'));
返回值是以下之一:ToolsSPFCheck::RESULT_PASS
、ToolsSPFCheck::RESULT_FAIL
、ToolsSPFCheck::RESULT_SOFTFAIL
、ToolsSPFCheck::RESULT_NEUTRAL
、ToolsSPFCheck::RESULT_NONE
、ToolsSPFCheck::RESULT_PERMERROR
、ToolsSPFCheck::RESULT_TEMPERROR
缺少的功能
目前此库仍缺少一些功能。以下是这些功能的部分列表
您非常欢迎提交一个pull request来添加这些功能的任何部分。