Skip to content

Commit 442e506

Browse files
committed
Merge branch '7.0' into 7.1
* 7.0: - Respond to "patches welcome" comment
2 parents ee2364e + 7507b24 commit 442e506

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

components/http_foundation.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -925,6 +925,16 @@ The ``JsonResponse`` class sets the ``Content-Type`` header to
925925
Only methods that respond to GET requests are vulnerable to XSSI 'JSON Hijacking'.
926926
Methods responding to POST requests only remain unaffected.
927927

928+
.. warning::
929+
930+
The ``JsonResponse`` constructor exhibits non-standard JSON encoding behavior
931+
and will treat ``null`` as an empty object if passed as a constructor argument,
932+
despite null being a `valid JSON top-level value`_.
933+
934+
This behavior cannot be changed without backwards-compatibility concerns, but
935+
it's possible to call ``setData`` and pass the value there to opt-out of the
936+
behavior.
937+
928938
JSONP Callback
929939
~~~~~~~~~~~~~~
930940

@@ -1017,6 +1027,7 @@ Learn More
10171027
.. _nginx: https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/
10181028
.. _Apache: https://tn123.org/mod_xsendfile/
10191029
.. _`JSON Hijacking`: https://haacked.com/archive/2009/06/25/json-hijacking.aspx/
1030+
.. _`valid JSON top-level value`: https://www.json.org/json-en.html
10201031
.. _OWASP guidelines: https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html#always-return-json-with-an-object-on-the-outside
10211032
.. _RFC 8674: https://tools.ietf.org/html/rfc8674
10221033
.. _Doctrine Batch processing: https://www.doctrine-project.org/projects/doctrine-orm/en/2.14/reference/batch-processing.html#iterating-results

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy