35 lines
1.7 KiB
Bash
Executable file
35 lines
1.7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# VM123 — FOSSBilling antispam: honeypot seguro contra autocomplete do browser
|
|
# Spec 024 · Roger · 2026-06-17
|
|
set -euo pipefail
|
|
|
|
COMPOSE_FILE="${COMPOSE_FILE:-/opt/vm123-finance-stack/docker-compose.yml}"
|
|
PATCH_DIR="$(cd "$(dirname "$0")" && pwd)/patches"
|
|
CONTAINER_TPL="/var/www/html/modules/Page/templates/client/mod_page_signup.html.twig"
|
|
FOSS_URL="${FOSS_URL:-https://financeiro.ligbox.com.br}"
|
|
ADMIN_EMAIL="${FOSS_ADMIN_EMAIL:-admin@ligbox.com.br}"
|
|
ADMIN_PASS="${FOSS_ADMIN_PASS:-LbFossAdmin805353}"
|
|
COOKIE_JAR="$(mktemp)"
|
|
|
|
cleanup() { rm -f "$COOKIE_JAR"; }
|
|
trap cleanup EXIT
|
|
|
|
dc() { docker compose -f "$COMPOSE_FILE" "$@"; }
|
|
|
|
echo "[1/3] Aplicar template signup (honeypot oculto)..."
|
|
dc cp "$PATCH_DIR/mod_page_signup.html.twig" "fossbilling:${CONTAINER_TPL}"
|
|
dc exec -T fossbilling rm -rf /var/www/html/data/cache/*
|
|
|
|
echo "[2/3] Configurar Antispam via Admin API..."
|
|
curl -sk -c "$COOKIE_JAR" -b "$COOKIE_JAR" -X POST "${FOSS_URL}/api/guest/staff/login" \
|
|
-d "email=${ADMIN_EMAIL}&password=${ADMIN_PASS}" >/dev/null
|
|
curl -sk -c "$COOKIE_JAR" -b "$COOKIE_JAR" "${FOSS_URL}/admin" >/dev/null
|
|
CSRF=$(awk '$6=="csrf_token" {print $7}' "$COOKIE_JAR" | tail -1)
|
|
curl -sk -b "$COOKIE_JAR" -X POST "${FOSS_URL}/api/admin/extension/config_save" \
|
|
-d "CSRFToken=${CSRF}&ext=mod_antispam&honeypot_enabled=1&honeypot_field=lb_hp_x9k2&check_temp_emails=1&captcha_enabled=0&sfs=0&block_ips=0" \
|
|
| grep -q '"result":true' && echo " Antispam config OK" || echo " AVISO: config_save falhou — ajustar manualmente no Admin"
|
|
|
|
echo "[3/3] Verificar signup..."
|
|
curl -sk "${FOSS_URL}/signup" | grep -q 'name="lb_hp_x9k2"' && echo "OK: campo lb_hp_x9k2 presente" || echo "AVISO: verificar signup manualmente"
|
|
|
|
echo "Concluído."
|