跳到主要内容
版本:最新版本

sidebar_position: 3 sidebar_label: PHP SDK title: PHP SDK

PHP SDK

你也可以通过 AMWScan\Scanner 类方法以编程方式使用此库。

信息

在程序化静默模式下,自动跳过会自动启用。

示例

use AMWScan\Scanner;

$app = new Scanner();
$report = $app->setPathScan("my/path/to/scan")
->enableBackups()
->setPathBackups("/my/path/backups")
->enableLiteMode()

| 需求 | API | 结果 |
| --- | --- | --- |
| 扫描文件或项目 | `Scanner::run()` | `stdClass` 扫描报告,或在捕获的扫描错误时返回 `false` |
| 在扫描完成后读取扫描结果 | `Scanner::getReport()` | 当前 `stdClass` 扫描报告 |
| 检查精确的 SHA-256 恶意软件哈希 | `Signatures::findKnownMalwareHash()` | 匹配记录或 `null` |
| 检查旧版规范化文件哈希 | `Signatures::matchesLegacyCoreFile()` | `bool` |
| 列出内置可疑域名指示器 | `Signatures::getDomainIndicators()` | 指示器记录数组 |

在集成扫描执行前,请阅读[使用 Scanner 扫描](scanner)。在持久化结果或设置结果告警前,请阅读[报告和发现](reports-api)。

## 最小化无人值守扫描

```php
use AMWScan\Scanner;

$scanner = new Scanner();
$report = $scanner
->enableLiteMode()
->setSilentMode()
->setAutoSkip()
->run([__DIR__ . '/project']);

if ($report === false) {
throw new RuntimeException($scanner->getLastError() ?: 'Scan failed.');
}

printf("Scanned: %d; findings: %d\n", $report->scanned, $report->detected);

setSilentMode() 配置非交互操作,并且除非设置了其他提示操作,否则选择跳过作为默认操作。它本身不会使扫描变为只读。在审查具有代表性的报告前,请保持禁用自动修复。

API 稳定性

Scanner 和本节中记录的查找方法构成受支持的集成接口。ArchiveCheckpointConsoleFindingsIntegrityModulesRemoteReputation 下的类支持扫描器内部功能。请勿让应用程序依赖它们,或依赖 Scanner::$settingsSignatures::$raw 等公共静态属性。

扫描器将配置和报告保存在静态状态中。一个 PHP 进程一次应只执行一次扫描。对于并发作业、排队扫描或租户之间的隔离,请使用独立进程。在工作进程或长期运行的 Web 进程中运行 SDK 前,请阅读安全和状态

参考地图

参考内容
使用 Scanner 扫描构造函数、生命周期、选项、筛选器、输出和修复控制
报告和发现报告架构、覆盖范围状态、发现、诊断和失败处理
签名查找哈希和域名查找约定
安全和状态状态生命周期、破坏性操作、网络行为和部署指南