assert () не обрабатывает код автоматически

Моя версия PHP 7.2.9-1. Внедрение кода на линии assert в следующем упражнении:

extract($_POST);
function goAway() {
error_log("Hacking attempt.");
header('Location: /error/');
}

if (!isset($pi) || !is_numeric($pi)) {
goAway();
}

if (!assert("(int)$pi == 3")) {
echo "This is not pi.";
} else {
echo "This might be pi.";
}

Операция assert () оценивает код PHP и содержит ввод пользователя. Тем не менее, я использовал pi=phpinfo() а сервер не phpinfo() но только выходы This might be pi., Может кто-нибудь объяснить это?

0

Решение

Из руководства по PHP:

Утверждения не должны использоваться для обычных операций во время выполнения, таких как проверки входных параметров. Как правило, ваш код всегда должен работать правильно, если проверка утверждений не активирована.

Вполне возможно, что утверждения просто отключены в вашей конфигурации PHP. Проверьте свои php.ini файл или assert_options(),

Кроме того, на основе предоставленного вами примера кода это НЕ какие assert предназначен для использования для.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector