Case study — 04

PromoCards

Context
R2.13 — BUT MMI, 1st year
Year
2026
Role
Back-end development
Deliverables
Account system + editor

PromoCards is an account management system built with PHP and SQLite: every visitor can sign up, log in, and automatically gets their own personal page, editable directly from the site.

Passwords are hashed with password_hash() and checked with password_verify(), PHP sessions handle authentication, and each account can be deleted along with its associated files. A “hub” dynamically lists all the sites created by scanning the project folder.

The trickiest part was the built-in site editor: each user pastes their own HTML code, which is shown as a live preview on their page. That code goes through security filters that neutralise links to the site's sensitive pages (account deletion, login, etc.) and block dangerous scripts (cookie access, network requests, redirects, local storage) before display — to stop a user from trapping another visitor.

This project made me work on web security in practice: session management, password hashing, and above all sanitising user-generated content before displaying it — a problem you only truly grasp by implementing it yourself.