Files
SkinbaseNova/config/comment_spam.php
klevze 586c44ba74 Add comment spam classification and captcha checks.
Score artwork comments with local signatures plus Together AI, and optionally require Turnstile before posting.
2026-09-20 14:48:50 +02:00

35 lines
1.9 KiB
PHP

<?php
return [
'enabled' => (bool) env('COMMENT_SPAM_ENABLED', true),
'mode' => env('COMMENT_SPAM_MODE', 'enforce'), // observe|enforce|off
'ai_enabled' => (bool) env('COMMENT_SPAM_AI_ENABLED', true),
'ai' => [
'provider' => env('COMMENT_SPAM_AI_PROVIDER', 'together'),
'api_key' => env('TOGETHER_API_KEY'),
'base_url' => env('TOGETHER_API_BASE_URL', 'https://api.together.xyz/v1'),
'model' => env('COMMENT_SPAM_AI_MODEL', env('TOGETHER_MODEL', 'meta-llama/Llama-3.2-3B-Instruct-Turbo')),
'allowed_models' => [
'Prism-ML/Ternary-Bonsai-27B',
'meta-llama/Llama-3.2-3B-Instruct-Turbo',
],
'timeout' => min(5, max(1, (int) env('COMMENT_SPAM_AI_TIMEOUT', 5))),
'max_input_chars' => min(2500, max(100, (int) env('COMMENT_SPAM_AI_MAX_INPUT_CHARS', 2500))),
'spam_confidence' => (float) env('COMMENT_SPAM_AI_SPAM_CONFIDENCE', 0.90),
],
'local_safe_max' => (int) env('COMMENT_SPAM_LOCAL_SAFE_MAX', 29),
'local_spam_min' => (int) env('COMMENT_SPAM_LOCAL_SPAM_MIN', 70),
'ai_spam_min' => (int) env('COMMENT_SPAM_AI_SPAM_MIN', 70),
'signature_cache_minutes' => (int) env('COMMENT_SPAM_SIGNATURE_CACHE_MINUTES', 1440),
'scanner_version' => env('COMMENT_SPAM_SCANNER_VERSION', 'comment-v1'),
'captcha' => [
'enabled' => (bool) env('COMMENT_TURNSTILE_ENABLED', false),
'site_key' => env('COMMENT_TURNSTILE_SITE_KEY', ''),
'secret_key' => env('COMMENT_TURNSTILE_SECRET_KEY', ''),
'threshold' => (int) env('COMMENT_TURNSTILE_RISK_THRESHOLD', 40),
'fail_open' => (bool) env('COMMENT_TURNSTILE_FAIL_OPEN', false),
'script_url' => env('COMMENT_TURNSTILE_SCRIPT_URL', 'https://challenges.cloudflare.com/turnstile/v0/api.js'),
'verify_url' => env('COMMENT_TURNSTILE_VERIFY_URL', 'https://challenges.cloudflare.com/turnstile/v0/siteverify'),
],
];