【发布时间】:2011-09-12 20:36:41
【问题描述】:
一个 WAR 中的 cgi-bin perl 脚本能否访问另一个 WAR 中的文件,例如 .properties 文件?
==== 详情 我正在整理一份演示文稿,向 IT 提交为什么我们应该将内部 Web 服务器升级为真正的 Web 应用程序服务器的原因。
如果您阅读过我的其他一些问题,您就会知道我们运行 Sun Java System Web Server SP9 和 RedHat Java 1.4.2。我知道这个版本的 Java 已经在 2008 年左右被弃用了。Sun 服务器似乎仍然受支持,即使他们有版本 7(尽管这个服务器不支持一些更新的 Java EE 技术。)
我正在尝试查找我们设置的安全问题,我现在可以看到的一个问题是,作为开发人员,我们被 IT 告知将数据库凭据存储在提供的文件夹/文件中,该文件夹/文件只能由网络服务器读取。我演示了我可以编写 JSP 和 cgi perl 脚本来读取其他开发人员应用程序的数据库凭据。因此他们可以做同样的事情并阅读我的。一个真正的应用程序服务器的一个论点是这个问题消失了。
除非crossContext 为真,否则真正的应用服务器不会阻止一个应用程序访问另一个WAR 的Class 文件、JSP 和其他资源吗?
应用服务器是否也会阻止 perl 脚本做同样的事情?
我正在寻找任何支持 IT 需要升级的理由。
【问题讨论】:
-
我不明白一件事。 perl 脚本不在 Java 运行时环境上下文中运行,因此没有 Java“类路径”的概念。为什么不直接给它那些文件的固定磁盘文件系统路径,以便它可以从本地磁盘文件系统中读取呢?
-
这就是我的 JSP 和 cgi-bin 脚本通过知道系统路径能够读取另一个开发人员的 db_credentials 文件的方式。我想知道启用了 WEB-IN/cgi-bin 的真实应用服务器是否会阻止这种情况。
标签: java perl security jsp web-applications