メインコンテンツまでスキップ

12. Security Considerations (セキュリティに関する考慮事項)

一般に、スクリプト言語にはセキュリティ上の問題があります。JSON は JavaScript のサブセットですが、代入と呼び出しを除外しています。

JSON の構文は JavaScript から借用されているため、その言語の eval() 関数を使用してほとんどの JSON テキストを解析することが可能です(ただし、すべてではありません。U+2028 行区切り文字 (LINE SEPARATOR) や U+2029 段落区切り文字 (PARAGRAPH SEPARATOR) など、JSON では合法であるが JavaScript では合法でない文字があります)。これは一般的に受け入れられないセキュリティリスクを構成します。なぜなら、テキストにはデータ宣言とともに実行可能なコードが含まれている可能性があるためです。同じ考慮事項は、JSON テキストがその言語の構文に準拠している他のプログラミング言語で eval() のような関数を使用する場合にも適用されます。