Require SECRET_KEY, prevent open redirects, validate image uploads, and sanitize post content#8
Merged
DaaanielTV merged 1 commit intomainfrom May 4, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
SECRET_KEYto be set and preventing open redirect attacks on login flow.Description
create_app()now raises an error ifSECRET_KEYis not provided and ensures theUPLOAD_FOLDERexists by creating it withPath(...).mkdir(...).urlparse/urljointo avoid open redirects and remove automatic first-user admin promotion during registration._save_featured_imagewith a whitelist of allowed extensions.Postmodel gains arendered_contentproperty that converts Markdown to HTML usingmarkdownand sanitizes it withbleach(explicit allowed tags and attributes), and templates usepost.rendered_contentinstead of raw content.requirements.txtto includebleachand ensuredPillowis present; added necessary imports and minor cleanup across modules.Testing
python -m pytestwhich collected no tests (no automated tests present in the repository).python -c "from app import create_app; create_app()", which succeeded without raising errors.Codex Task