hauerheinrich/typo3_monitor_api

Hauer-Heinrich - TYPO3 监控 API - 允许获取安装的 TYPO3 cms 的各种信息(响应:json)。

安装: 0

依赖关系: 0

建议者: 0

安全: 0

星级: 0

关注者: 3

分支: 0

开放问题: 0

类型:typo3-cms-extension

1.3.1 2023-12-12 18:14 UTC

This package is auto-updated.

Last update: 2024-09-25 13:13:06 UTC


README

typo3_monitor_api 是一个 TYPO3 扩展。受 Sven Wappler 创建的 zabbix_monitor 扩展的启发。typo3_monitor_api 扩展完全不使用 zabbix,并且与 zabbix 系统不兼容!

安装

... 如同其他 TYPO3 扩展一样 extensions.typo3.org 不需要 TypoScript 或 PageTs。

设置一个后台用户(用户名和密码),这个用户不需要并且也不应该有任何权限!!

使用方法

domain.tld/typo3-monitor-api/v1/{METHOD} 如需,请将参数添加到请求体中,格式为 JSON。

请求

基本认证 - 用户名和用户密码来自后台用户。格式:json(正文)方法 "GetExtensionVersion" 的示例

[
    {
        "extensionKey": "news"
    }
]

响应

格式:json 每个响应至少包含 "status","value" 和 "message"。例如(domain.tld/typo3-monitor-api/v1/GetPHPVersion

[
    {
        "status": true,
        "value": [
            {
                "version": "7.4.27"
            }
        ],
        "message": ""
    }
]

方法

获取所有可用方法:domain.tld/typo3-monitor-api/v1/GetAllowedOperations 简短列表

  • CheckPathExists
  • GetApplicationContext
  • GetDatabaseAnalyzerSummary
  • GetDatabaseVersion
  • GetDiskSpace
  • GetExtensionList
  • GetExtensionVersion
  • GetFeatureValue
  • GetFileSpoolValue
  • GetFilesystemChecksum
  • GetInsecureExtensionList
  • GetLastExtensionListUpdate
  • GetLastSchedulerRun
  • GetLogResults
  • GetOpCacheStatus
  • GetOutdatedExtensionList
  • GetPHPVersion
  • GetProgramVersion
  • GetSystemInfos
  • GetTYPO3Version
  • GetTotalLogFilesSize
  • HasDeprecationLogEnabled
  • HasExtensionUpdate
  • HasExtensionUpdateList
  • HasFailedSchedulerTask
  • HasForbiddenUsers
  • HasMissingDefaultMailSettings
  • HasRemainingUpdates
  • HasSecurityUpdate
  • HasUpdate
  • IOperation
  • UpdateMinorTypo3(HttpMethod: PATCH)

扩展配置/设置

  • api-access.operations.allowedOperations: 允许或禁止特定方法
  • api-access.allowedIps: 限制端点到 IP 范围(例如 77.6.178.)或特定 IP。逗号分隔列表是可能的。
  • api-access.blockTime: 相应 IP 被阻止的时间长度(例如 5 = 5 分钟锁定/阻止自上次失败尝试以来)
  • api-access.maxCount: 请求可能发生的次数,在它被阻止之前

TODO

  • 添加更好的认证
  • 也许加密数据

故障排除

.htaccess

SetEnvIf Authorization "(.)" HTTP_AUTHORIZATION=$1 or RewriteEngine On RewriteRule . - [e=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

API 请求错误

  • 无法调用非对象 "request" 的方法 "getQueryParams"。 -> 这通常来自 TypoScript 条件,如 [traverse(request.getQueryParams(), 'tx_news_pi1/action') == 'detail'],然后检查 "request 对象" 的可用性,例如 [request && traverse(request.getQueryParams(), 'tx_news_pi1/action') == 'detail']