检查输入的PHP代码是否返回值
我试图确保输入textarea的一些PHP代码是有效的并返回一个值 这是我的密码:检查输入的PHP代码是否返回值,php,eval,Php,Eval,我试图确保输入textarea的一些PHP代码是有效的并返回一个值 这是我的密码: try { if (!$return = eval($php_code)) { $error = 'The php code field must return a value.'; } } catch (Throwable $e) { $error = $e->getMessage(); } if (isset($error)) { die($error)
try {
if (!$return = eval($php_code)) {
$error = 'The php code field must return a value.';
}
}
catch (Throwable $e) {
$error = $e->getMessage();
}
if (isset($error)) {
die($error);
}
这似乎不起作用。它捕获大多数错误,但是如果我输入类似于
echo'test'的内容代码>它不会产生错误。我不知道整个代码,但请尝试检查eval()。我通常使用下一个代码作为示例:
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with $nombre inside.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
根据法律,你应该输入这样的内容
'echo "test";'
不是
echo 'test';