File tree 1 file changed +11
-0
lines changed
1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -944,6 +944,16 @@ The ``JsonResponse`` class sets the ``Content-Type`` header to
944
944
Only methods that respond to GET requests are vulnerable to XSSI 'JSON Hijacking'.
945
945
Methods responding to POST requests only remain unaffected.
946
946
947
+ .. warning ::
948
+
949
+ The ``JsonResponse `` constructor exhibits non-standard JSON encoding behavior
950
+ and will treat ``null `` as an empty object if passed as a constructor argument,
951
+ despite null being a `valid JSON top-level value `_.
952
+
953
+ This behavior cannot be changed without backwards-compatibility concerns, but
954
+ it's possible to call ``setData `` and pass the value there to opt-out of the
955
+ behavior.
956
+
947
957
JSONP Callback
948
958
~~~~~~~~~~~~~~
949
959
@@ -1036,6 +1046,7 @@ Learn More
1036
1046
.. _nginx : https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/
1037
1047
.. _Apache : https://tn123.org/mod_xsendfile/
1038
1048
.. _`JSON Hijacking` : https://haacked.com/archive/2009/06/25/json-hijacking.aspx/
1049
+ .. _`valid JSON top-level value` : https://www.json.org/json-en.html
1039
1050
.. _OWASP guidelines : https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html#always-return-json-with-an-object-on-the-outside
1040
1051
.. _RFC 8674 : https://tools.ietf.org/html/rfc8674
1041
1052
.. _Doctrine Batch processing : https://www.doctrine-project.org/projects/doctrine-orm/en/2.14/reference/batch-processing.html#iterating-results
You can’t perform that action at this time.
0 commit comments