diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/network.php | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/network.php b/include/network.php index 6961bf0ba..d4f4f27c6 100644 --- a/include/network.php +++ b/include/network.php @@ -2042,6 +2042,22 @@ function jsonld_document_loader($url) { require_once('library/jsonld/jsonld.php'); + $recursion = 0; + + $x = debug_backtrace(); + if($x) { + foreach($x as $n) { + if($n['function'] === __FUNCTION__) { + $recursion ++; + } + } + } + if($recursion > 5) { + logger('jsonld bomb detected at: ' . $url); + killme(); + } + + $cachepath = 'store/[data]/ldcache'; if(! is_dir($cachepath)) os_mkdir($cachepath, STORAGE_DEFAULT_PERMISSIONS, true); |