ValidationHandler: Ablehnungen zusaetzlich im Angriffsprotokoll speichern

This commit is contained in:
2026-09-22 10:50:23 +02:00
parent 0c60f3d15e
commit b7dfe8f48b
@@ -32,6 +32,10 @@ use Plugin\fp_altcha_spamschutz\src\Service\AltchaService;
* matchesBlockedPattern() und isFlaggedByHoneypot()): beide fangen gezielt Bots ab, die zwar * matchesBlockedPattern() und isFlaggedByHoneypot()): beide fangen gezielt Bots ab, die zwar
* JavaScript ausführen und die Rechenaufgabe lösen können, sich aber an einem bekannten * JavaScript ausführen und die Rechenaufgabe lösen können, sich aber an einem bekannten
* Namensmuster oder einer bereits einschlägig aufgefallenen IP-Adresse erkennen lassen. * Namensmuster oder einer bereits einschlägig aufgefallenen IP-Adresse erkennen lassen.
*
* Jede Ablehnung wird zusätzlich (sofern in den Einstellungen aktiv) im Angriffsprotokoll
* festgehalten (siehe AltchaService::appendAttackLogEntry() und log.php im Plugin-Wurzelverzeichnis
* für die Ansicht) -- unabhängig vom nur für Tests gedachten Debug-Logging.
*/ */
class ValidationHandler class ValidationHandler
{ {
@@ -275,6 +279,17 @@ class ValidationHandler
bool $blockedByPattern, bool $blockedByPattern,
bool $blockedByHoneypot bool $blockedByHoneypot
): void { ): void {
if ($this->altchaService->isAttackLogEnabled()) {
$this->altchaService->appendAttackLogEntry([
'zeit' => \date('c'),
'formular' => $formular,
'ip' => $_SERVER['REMOTE_ADDR'] ?? '',
'sicherheitspruefung' => $blockedByAltcha ? 'fehlgeschlagen' : 'bestanden',
'namensmuster' => $blockedByPattern,
'honeypot' => $blockedByHoneypot,
]);
}
if (!$this->altchaService->isDebug()) { if (!$this->altchaService->isDebug()) {
return; return;
} }