Спасибо!!! -50% трафика за месяц. На фоне блокировки моб. Трафика, хостинга, сайт вылетел с топа.
Коммит eecfa4b7dec3897f24dafa30cd450abada15fa0b реализует шаблонизатор с компиляцией AST в PHP и последующим include кэшированного файла. Ключевой риск не в классическом eval , а в цепочке compileFile() → сырой TextNode → include $cache->path : при неограниченном пути к шаблону это даёт чтение произвольных файлов, а при попадании в шаблон текста с <?php ... ?> — исполнение PHP-кода из “текстового” шаблона.
Топ-5 критичных/высоких проблем в этом коммите:
php // Плохо: путь приходит извне $engine->includeFile($_GET['tpl'], []); // /page?tpl=../../../../etc/passwd
php file_put_contents('/tmp/tpl.php', '<?php echo "PWNED"; ?>'); $engine->includeFile('/tmp/tpl.php', []); // Ожидание от шаблонизатора: вывести literal text // Фактически: выполнить PHP-код
php // Шаблон {{ user.name }} // Что генерирует компилятор по сути: <?= htmlspecialchars((string)$context['user']['name'], ENT_QUOTES, 'UTF-8'); ?> // Что делает render-mode: $value = resolveValue($context, 'user.name', '', 'PrintNode'); // => ''
twig {% foreach user in users %} {% foreach role in roles %} {{ user }} {% /foreach %} {% /foreach %}
php // Внутри inner-foreach localVars уже только ['role'], // поэтому {{ user }} компилируется не в $user, а в $context['user'].
html <form method="post"> {% csrf %} <button>Save</button> </form>
html <form method="post"> 3c6f4b... <button>Save</button> </form>
php $template = str_repeat('a', 1_000_000) . '{{ user.name }}';
text composer install composer stan composer fixer composer test # Psalm в этом коммите не настроен; для него сначала нужно добавить зависимость и конфиг.
Здравствуйте. такая же ерунда. Сайт более 10 лет В РСЯ тематика - учеба. небольшой но стабильный трафик. В феврале решил попробовать автоматические рекламные блоки и через пару месяцев сайт блокируют.Заблокировано Сайт или приложение не соответствует Правилам участия в РСЯ по иным причинам В поддержку обращался но там боты отвечают.
Есть ли возможность узнать больше информации о причинах и непонятна сама ситуация.
Cайт 10 лет соответствовал и вдруг одномоментно перестал соответствовать и его тут же блокируют без каких либо возможностей разобраться в ситуации.