【发布时间】:2013-10-28 18:24:27
【问题描述】:
情况:
这行得通:
$functionCode = 'return ($myvar1 == "something") && ($myvar2 != "");';
$newfunc = create_function($functionParamsConcat, $functionCode);
但问题是 funcitonCode 是动态的,其中的布尔表达式可以变化(取自数据库)。令人困惑的是,当我从数据库中检索 SAME functionCode 并将其分配给变量时,create_function 返回的 $newfunc 始终为 false。
有什么想法吗?谢谢
【问题讨论】:
-
您确定报价没有被转义吗?更重要的是,为什么要从数据库构建函数?如果有人有机会将 SQL 注入您,他们可能会造成严重损害。
-
我尝试使用 PHP 内置函数添加斜杠来转义整个函数代码,失败,$newfunc 总是错误的。 (尽管我感谢您的关注,但在这种情况下忘记 sqlinjection)
标签: php lambda create-function