伙计们,我正在尝试在 RoR 中执行一个 jar 文件。感谢 SO,我想使用 IO::popen 调用来执行 jar 文件。
要求: - 登录网站:让我们公司员工登录。它是一个 Java 库,如果用户名/密码有效,它会做一些魔术和数字。我使用的,
result = IO::popen("java -cp auth.jar com.name.auth.LDAPLookup " + params[:username] + " " + params[:password]).read
p result
输出:[“授权”,“电子邮件”,“身份证”]
- 没有进行输入清理。这是有风险的。任何人都可以在用户名/密码中输入一些内容,并将在服务器中执行。
我不知道该怎么做。我想尝试的一种选择是使用 fork() 或 Process API 来启动“java”并传递参数。然而想不通。还有其他想法吗?