我想添加 Sandbox 擴展來使用 Timber for WordPress 評估不受信任的代碼(包括使用 Composer,但使用該插件時得到相同的結果)。以下(簡化的)代碼會導致致命錯誤。add_filter('timber/twig', function($twig){ $filters = array_diff(array_keys($twig->getFilters()), ['function']); $policy = new \Twig\Sandbox\SecurityPolicy([], $filters, [], [], []); $twig->addExtension(new \Twig\Extension\SandboxExtension($policy, true)); return $twig;});錯誤是:“致命錯誤:未捕獲異常:無法注冊擴展“沙箱”,因為擴展已初始化?!比绻麘玫倪^濾器是 wood/twig 或 twig_apply_filters,則沒有區別。這是添加此擴展的不正確位置嗎?它似乎只在調用 Timber::compile_string 時執行。我在 PHP 7.3.x 上使用最新版本的 WordPress 和 Timber
- 1 回答
- 0 關注
- 111 瀏覽
添加回答
舉報
0/150
提交
取消