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

44 lines
839 B
Markdown

# 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:
```bash
# 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:
```bash
curl https://pow.dgray.io/challenge
```
## Endpoints
### GET /challenge
Gibt eine signierte Challenge zurück.
### POST /verify
Prüft die Lösung. Body (JSON):
```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