In plain English: eval() runs a string as PHP code. A string-based
assert() can do the same. If any part of the string comes from a request, an
attacker may be able to run code.
Why it matters: Code built at runtime is hard to validate and can turn data into executable code.
return eval($code);
assert('$value > 0');
$callback = $handlers[$name] ?? null;
if ($callback !== null) {
return $callback();
}
assert($value > 0);
eval() callassert() with a string literal or string concatenationassert() receives a boolean expression.eval().eval() with a parser, a dispatch table, or an explicit callback.assert().assert() are
not traced.create_function() and similar legacy helpers are not checked.E0059 has no configuration options and is enabled by default.