如何安全地使用PHP eval()?

问题描述

该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。

目前项目中遇到这种的需求,如果用 eval 的话,需要进行哪些校验才能最大程度保证安全呢?

相关代码

$result = [];
$code_from_db = "return function($var1_in_code, $var2_in_code);";
foreach ($datas as $data) {
   $var1_in_code = $data->d1;
   $var2_in_code = $data->d2;
   $result[] = eval($code_from_db);
}
return $result;
阅读 3.1k
2 个回答

提出 string 的内容,然后重写手算。

推荐问题