猿问

而不是使用 eval() 将字符串转换为 php 数学方程?

所以在eval()文档中有人引用了:

如果 eval() 是答案,那么您几乎肯定问错了问题。-- Rasmus Lerdorf,PHP 的 BDFL

所以我不知道我该怎么问这个问题。但我想要的是:

  1. 从表单字段中放入一个带有 php 变量 ( $var['name']) 或某种替换词的方程,这些词稍后会转换为方程的变量。

  2. 将上面的方程保存到数据库中。

  3. 能够从 php 代码稍后运行该等式。

注意:该站点只有少数管理员能够/有权创建这些方程并将其保存到数据库中。

但无论如何,所以我不应该使用eval(). 我应该用什么代替?或者应该如何提问?


守候你守候我
浏览 139回答 1
1回答

拉莫斯之舞

如果可能,最好避免eval出于任何原因与用户输入一起使用。例如,如果存在允许访问管理员帐户的错误或漏洞(次要事物,例如 XSS 等),他们现在可以在您的服务器上执行代码。如上所述,更好的选择是使用数学解析器。我在hoa/math方面有很好的经验,它支持变量、自定义函数、常量等。
随时随地看视频慕课网APP
我要回答