Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explicitly state our argument separator when calling http_build_query(). #43452

Open
wants to merge 1 commit into
base: 4.4-dev
Choose a base branch
from

Conversation

coling
Copy link

@coling coling commented May 9, 2024

When the PHP arg_separator.input configuration option is not set to & (e.g. if it's set to &) then this will result in malformed encoded strings. Sometimes this is generally OK, but when using http_build_query() to format POST data (e.g. in the Http/Transport classes) this can result in malformed POSTs and failing APIs

This is easily seen in e.g. reCaptcha verification requests.

Summary of Changes

This is a long overdue rebase of #23616

Testing Instructions

Simply set arg_separator.input to & in php.ini and attempt to use reCaptcha

Actual result BEFORE applying this Pull Request

It will fail with a malformed request

Expected result AFTER applying this Pull Request

It will work.

When the PHP arg_separator.input configuration option is not set to &
(e.g. if it's set to &) then this will result in malformed encoded
strings. Sometimes this is generally OK, but when using
http_build_query() to format POST data (e.g. in the Http/Transport
classes) this can result in malformed POSTs and failing APIs

This is easily seen in e.g. reCaptcha verification requests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants