最低版本核心库 2.2.5
删除选项:"隐藏标签将用作回复标签"在 2.2.0
中添加 添加新选项以将隐藏标签与另一个
完全重新设计的隐藏标签相匹配。现在,如果用户为以 () 开头和结尾的标记指定选项。例如
View hidden content is available for registered users!
- 如果用户是工作人员,将显示隐藏文本"Hello World!"。
安全性以及使用如此广泛的范围的安全性如何?是的,它是完全安全的,对于表达式解释,插件不使用 eval。
从安全角度来看,这很重要,因为使用 eval() 可能会带来风险,尤其是在输入数据未正确验证的情况下。eval() 函数允许执行任意代码,包括潜在的危险操作,并可用于注入恶意代码或执行不需要的操作。
那么如果不使用 eval() 它是如何工作的呢?
传递表达式时,首先将其解析为标识符、运算符、数字和字符串等标记。然后,使用语法和句法规则分析表达式。
分析器构造表示表达式结构的语法树 (AST)。
生成 AST 后,通过遍历 AST 并执行上下文中定义的相应操作和函数来解释表达式。
此方法基于使用上下文解析和解释表达式,提供了表达式的安全执行,因为它不需要使用 eval() 函数,并允许控制可用的操作和函数,从而最大限度地减少潜在的漏洞。