如何安全地使用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;
阅读 3k
2 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题