ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/JSON-XS/XS.pm
(Generate patch)

Comparing JSON-XS/XS.pm (file contents):
Revision 1.84 by root, Wed Mar 19 02:52:15 2008 UTC vs.
Revision 1.86 by root, Wed Mar 19 03:17:38 2008 UTC

938directly when available (so will be 100% compatible with it, including 938directly when available (so will be 100% compatible with it, including
939speed), or it uses JSON::PP, which is basically JSON::XS translated to 939speed), or it uses JSON::PP, which is basically JSON::XS translated to
940Pure Perl, which should be 100% compatible with JSON::XS, just a bit 940Pure Perl, which should be 100% compatible with JSON::XS, just a bit
941slower. 941slower.
942 942
943You cannot really lose by using this module. 943You cannot really lose by using this module, especially as it tries very
944hard to work even with ancient Perl versions, while JSON::XS does not.
944 945
945=item JSON 1.07 946=item JSON 1.07
946 947
947Slow (but very portable, as it is written in pure Perl). 948Slow (but very portable, as it is written in pure Perl).
948 949
1162to free the temporary). If that is exceeded, the program crashes. To be 1163to free the temporary). If that is exceeded, the program crashes. To be
1163conservative, the default nesting limit is set to 512. If your process 1164conservative, the default nesting limit is set to 512. If your process
1164has a smaller stack, you should adjust this setting accordingly with the 1165has a smaller stack, you should adjust this setting accordingly with the
1165C<max_depth> method. 1166C<max_depth> method.
1166 1167
1167And last but least, something else could bomb you that I forgot to think 1168Something else could bomb you, too, that I forgot to think of. In that
1168of. In that case, you get to keep the pieces. I am always open for hints, 1169case, you get to keep the pieces. I am always open for hints, though...
1169though... 1170
1171Also keep in mind that JSON::XS might leak contents of your Perl data
1172structures in its error messages, so when you serialise sensitive
1173information you might want to make sure that exceptions thrown by JSON::XS
1174will not end up in front of untrusted eyes.
1170 1175
1171If you are using JSON::XS to return packets to consumption 1176If you are using JSON::XS to return packets to consumption
1172by JavaScript scripts in a browser you should have a look at 1177by JavaScript scripts in a browser you should have a look at
1173L<http://jpsykes.com/47/practical-csrf-and-json-security> to see whether 1178L<http://jpsykes.com/47/practical-csrf-and-json-security> to see whether
1174you are vulnerable to some common attack vectors (which really are browser 1179you are vulnerable to some common attack vectors (which really are browser

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines