<feed xmlns='http://www.w3.org/2005/Atom'>
<title>camagru/README.md, branch master</title>
<subtitle>Webcam and upload photo editing web app</subtitle>
<id>http://git.tvcloud.fr/cgit.cgi/camagru/atom?h=master</id>
<link rel='self' href='http://git.tvcloud.fr/cgit.cgi/camagru/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/camagru/'/>
<updated>2026-03-22T12:57:45Z</updated>
<entry>
<title>Add rate limiting on login and password reset endpoints</title>
<updated>2026-03-22T12:57:45Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-22T12:57:45Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/camagru/commit/?id=94dbb795cc3fe9799d34beb5d6bfa052eba81b0c'/>
<id>urn:sha1:94dbb795cc3fe9799d34beb5d6bfa052eba81b0c</id>
<content type='text'>
Track attempts per IP in a rate_limits table with a sliding time
window. Login allows 5 failed attempts per 15 min, password reset
allows 3 requests per 15 min. Old entries are purged automatically.
</content>
</entry>
<entry>
<title>Add session cookie hardening and Nginx security headers</title>
<updated>2026-03-22T12:53:01Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-22T12:53:01Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/camagru/commit/?id=78e891f06ab94ef478de1c431157f7d634fe4ac8'/>
<id>urn:sha1:78e891f06ab94ef478de1c431157f7d634fe4ac8</id>
<content type='text'>
Set httponly, samesite=Lax, and auto-detected secure flag on session
cookies. Add X-Content-Type-Options, X-Frame-Options, and
Content-Security-Policy headers in Nginx. Document both in README.
</content>
</entry>
<entry>
<title>Add chmod 600 guidance for .env file in README</title>
<updated>2026-03-22T12:40:53Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-22T12:40:53Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/camagru/commit/?id=de41aa4531df4515de93eba685cfeb03227a5d4e'/>
<id>urn:sha1:de41aa4531df4515de93eba685cfeb03227a5d4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add upload security: size limit, per-user and site-wide post caps</title>
<updated>2026-03-22T12:34:47Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-22T12:34:47Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/camagru/commit/?id=d6a9fd1c32f07b993cb8ecc3c1b7c22f7a0ce848'/>
<id>urn:sha1:d6a9fd1c32f07b993cb8ecc3c1b7c22f7a0ce848</id>
<content type='text'>
Reject base64 payloads over 10 MB, limit users to 50 posts each,
and cap total posts at 10,000 (~650 MB on disk). Document upload
security model in README.
</content>
</entry>
<entry>
<title>Add environment variables, MailPit, and composer clarifications to README</title>
<updated>2026-03-21T22:08:15Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-21T22:08:15Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/camagru/commit/?id=6ced3fae5446a8b173025d708c2f07aa23e640f8'/>
<id>urn:sha1:6ced3fae5446a8b173025d708c2f07aa23e640f8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add user authentication with email verification and password reset</title>
<updated>2026-03-21T20:35:51Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-21T20:35:51Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/camagru/commit/?id=bc54c8c31e7f50a7a365f9b4d22fe8c74a29f61a'/>
<id>urn:sha1:bc54c8c31e7f50a7a365f9b4d22fe8c74a29f61a</id>
<content type='text'>
Implements registration, login/logout, email verification via token,
and password reset flow. Includes CSRF protection, flash messages,
MailPit for dev email testing, and security docs in README.
</content>
</entry>
<entry>
<title>Initial project scaffold</title>
<updated>2026-03-21T19:50:43Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-21T19:50:43Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/camagru/commit/?id=d1ef15fa39935bfa0420c5ac2b8c269e294c9a6d'/>
<id>urn:sha1:d1ef15fa39935bfa0420c5ac2b8c269e294c9a6d</id>
<content type='text'>
Set up MVC architecture with front controller, router, autoloader,
database singleton, and Docker Compose stack (Nginx + PHP-FPM + MariaDB).
Includes DB schema, responsive layout, dev tooling (php-cs-fixer,
parallel-lint), and documentation.
</content>
</entry>
</feed>
