【发布时间】:2016-08-20 05:32:48
【问题描述】:
我有一个表单数据,它从用户那里接收 java 代码并将其存储在数据库中。
那么我如何清理输入以确保它确实是 java 代码?
【问题讨论】:
标签: java php database sanitize
我有一个表单数据,它从用户那里接收 java 代码并将其存储在数据库中。
那么我如何清理输入以确保它确实是 java 代码?
【问题讨论】:
标签: java php database sanitize
你想用它来实现什么,你想将 java 代码保存到数据库中?,如果你想做这样的事情,那么你需要正则表达式,我认为这是我想到的第一件事
【讨论】:
这听起来有些危险(不是在数据库中存储 java 文本代码),但为什么会出现这样的用例。不过……
如果您不希望了解 Java 语言的所有方面,您可能需要研究 BeanShell。 Beanshell 可以获取 java 源代码并在不编译的情况下对其进行评估。您可能无需执行即可“获取”代码。如果通过了,那么就是java代码,如果不通过,那么就不是java代码。但是,Beanshell 不接受较新 Java 版本的所有现代语法和结构。
验证它确实是 java 代码的一种简单方法是尝试编译它(如果代码需要依赖项,这当然会变得混乱)。如果您确实采取了这条路线,那么请确保您在 DMZ 计算机/用户中进行编译(我不知道编译不受信任的代码有任何风险,但可能存在)......只是不要在你之后运行代码编译它!
【讨论】: