8 Commits
Author SHA1 Message Date
tim 8f4851e576 Reject invalid uploads and expand flow tests. 2026-09-26 15:27:51 +02:00
tim c4fcef21aa Limit the images that previews keep.
A preview that fails the captcha or the form token keeps no image. A session keeps one image, the directory has a size limit, and abandoned images go at the next upload.
2026-09-26 15:27:51 +02:00
tim 1468cf7138 Require a captcha for visitor submissions and for login.
Without the form field, the check was skipped. A solved captcha lasts
30 minutes in the session.
2026-09-25 21:54:14 +02:00
tim f6bdf10228 Escape request and database values in forms and links.
Add form_value() in html.lib.php.
2026-09-25 21:36:27 +02:00
tim e881ddb458 Keep uploads outside the web root.
save_uploaded_file() read, and prune_images() deleted, any path in the
"uploaded" POST field. Uploads now go to UPLOAD_DIR under a random name
that only the session knows.
2026-09-25 21:31:47 +02:00
tim 00829a0c0d Port the code to PHP 8.5.
Replace the short open tags and the removed functions (mcrypt, mysql_error,
salt-less crypt). Decode the reCAPTCHA reply as JSON, turn off mysqli
exceptions, drop stripslashes(), and default missing input values.
Fix the misplaced continue in prune_images().
2026-09-25 21:18:58 +02:00
tim 925a8572d0 Fix captchas 2015-11-22 00:22:34 +02:00
tim 7fc40728f5 Initial commit. 2013-05-17 23:38:44 +02:00