Files
kashilo/docs/pow-server/README.md

839 B

PoW Captcha Server

PHP-basierter Proof-of-Work Captcha Server für dgray.io.

Setup

  1. Subdomain pow.dgray.io auf den Server zeigen

  2. Dateien in das Web-Root kopieren

  3. Secret setzen:

    # In .env oder Apache/Nginx config:
    SetEnv POW_SECRET $(openssl rand -hex 32)
    

    Oder direkt in config.php den Wert von POW_SECRET ändern.

  4. Testen:

    curl https://pow.dgray.io/challenge
    

Endpoints

GET /challenge

Gibt eine signierte Challenge zurück.

POST /verify

Prüft die Lösung. Body (JSON):

{
  "challenge": "...",
  "difficulty": 4,
  "nonce": 12345,
  "signature": "...",
  "timestamp": 1700000000000
}

Sicherheit

  • HMAC-SHA256 signierte Challenges (nicht fälschbar)
  • TTL: 2 Minuten
  • CORS: nur https://dgray.io
  • hash_equals() gegen Timing-Attacks