27 lines
1020 B
Plaintext
27 lines
1020 B
Plaintext
---
|
|
title: Comments, Captcha, and CSV Stats
|
|
slug: comments-captcha-stats
|
|
type: post
|
|
status: published
|
|
date: 2026-07-02T11:45:00-04:00
|
|
modified: 2026-07-02T11:45:00-04:00
|
|
category: Features
|
|
tags: [comments, sqlite, stats]
|
|
summary: Comments are stored in SQLite, protected by a math captcha and a honeypot field, while visits stream into an Excel-friendly CSV.
|
|
author: Editor
|
|
cover:
|
|
allow_comments: true
|
|
menu_order: 0
|
|
---
|
|
|
|
Comments use SQLite with moderation enabled by default. Visitors answer a small math captcha, and a hidden honeypot field catches many automated submissions before they hit the database.
|
|
|
|
Approved comments render below each post. Pending, approved, spam, and deleted states are managed from the CLI:
|
|
|
|
```bash
|
|
php cli/blog.php comments:list --status=pending
|
|
php cli/blog.php comments:approve 1
|
|
```
|
|
|
|
Stats are written to `storage/stats/visits.csv` with date, time, path, route type, hashed IP, referrer, user agent, and status code. The file is intentionally human readable and importable into Excel.
|