Spring EL(SpEL)代码执行

时间:2015-07-29 14:39:55

标签: java spring spring-el

我想使用SpEL来评估一些用户输入。但这会打开一个安全漏洞,因为SpEL enginge也会执行代码并可以启动类并访问静态对象。例如,T(系统).exit(0)退出系统。

是否可以阻止此类代码执行?

1 个答案:

答案 0 :(得分:0)

避免这种情况的方法是永远不要用表达式语言评估用户输入。

你几乎永远无法枚举,因此阻止执行所有可能的“坏”代码。

相反,您可以将用户输入用作具有固定EL表达式的环境变量(字符串,数字)。