diff --git a/app/Contribution/Actions/GenerateAction.php b/app/Contribution/Actions/GenerateAction.php index 41333bcc..f26caa60 100644 --- a/app/Contribution/Actions/GenerateAction.php +++ b/app/Contribution/Actions/GenerateAction.php @@ -49,6 +49,6 @@ class GenerateAction */ private function payload(ActionRequest $request): array { - return json_decode(urldecode(base64_decode($request->input('payload', ''))), true); + return json_decode(rawurldecode(base64_decode($request->input('payload', ''))), true); } } diff --git a/app/Rules/JsonBase64Rule.php b/app/Rules/JsonBase64Rule.php index ddf5a281..fe796db1 100644 --- a/app/Rules/JsonBase64Rule.php +++ b/app/Rules/JsonBase64Rule.php @@ -33,9 +33,9 @@ class JsonBase64Rule implements Rule return false; } - $decoded = urldecode(base64_decode($value, true)); + $decoded = rawurldecode(base64_decode($value, true)); - if (base64_encode(urlencode($decoded)) !== $value) { + if (base64_encode(rawurlencode($decoded)) !== $value) { return false; }