falconry / falconry/falcon

Provide a way to gracefully and securely handle non-percent-encoded query string values

Open
#1,685 15 comments 0 reactions 0 assignees View on GitHub
enhancement needs-decision proposal
Dominant language
Python
Stars
9.8k
Forks
1k
Avg merge
5d 13h
Merged PRs (30d)
7

Description

When the web server allows a non-RFC-compliant query string (i.e., one that includes non-ASCII byte values that were not percent-encoded) to be passed to the app, we should provide a way for the app to at least detect such values. We might also provide an option for automatically rejecting them or perhaps attempting to decode them as UTF8.

Should we also add support for automatically percent-encoding query params when using the `testing.simulate_*` methods?

Contributor guide

Open the contributing guide

Research direction

Start by tracing the query-string handling path and the testing.simulate_* methods named in the issue. First resolve whether the scope is detection, rejection, UTF-8 decoding, simulator percent-encoding, or some combination; done means the chosen behavior is specified and covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.