我有一个表单数据,它从用户那里收到了java代码并将其存储在数据库中。
那么如何清理输入以确保它确实是java代码?
答案 0 :(得分:-1)
你想用什么来实现,你想将java代码保存到数据库?,如果你想做类似的事情,那么你需要正则表达式,我认为这就是我的第一件事
答案 1 :(得分:-1)
这听起来有些危险(不是在数据库中存储java文本代码),但为什么会出现这样的用例。然而......
如果您不期望Java语言的所有方面,您可能需要查看BeanShell。 Beanshell可以使用java源代码并在不编译的情况下对其进行评估。您可以在不执行代码的情况下“获取”代码。如果它通过,那么它是java代码,如果没有,那么它不是java代码。但是,Beanshell不接受所有新版Java语言的现代语法和结构。
验证它确实是java代码的一种简单方法是尝试编译它(如果代码需要依赖项,这当然会变得混乱)。如果您采取这种方式,那么请确保您正在编译DMZ计算机/用户(我不知道编译不受信任的代码有任何风险,但可能会有)....只是不要在你之后运行代码编译它!