【发布时间】:2013-12-27 14:29:29
【问题描述】:
这是我的第一个问题,所以我希望能做对。我一直在用 PHP/Jquery/Html 开发一个 Web 应用程序,仅供公司内部使用 - 这是一个简单的内部 Intranet 页面,允许公司员工查看帮助通常分布在我们工作网络的各个位置的文档和表格,都集中在一个地方。 - 我正在使用 com 对象来读取它们(word docs),然后在制作本地副本后将它们显示为 html,或者如果已经存在本地缓存,则只需将它们读出本地缓存(前提是原始的修改日期仍然相同) )。
现在,在这个项目即将结束时,我遇到了一个障碍,经过一些谷歌搜索和阅读后,我找不到解决办法。我希望少数管理员能够添加指向新文档的链接,从而允许系统增长,为此我认为我可以让他们选择一个文档,并获取完整路径(包括服务器名称或 IP ) 然后将其名称和其他详细信息连同其名称和其他详细信息一起存储在数据库中,以便根据请求加载 - 但是我正在为此苦苦挣扎,因为我现在知道这是一个安全问题(至少在 WWW 环境中)和所以不支持。
这是一个 Windows 网络,文档都是不安全的,因为它们只是我们(和不同部门经理)为我们公司的用户制作的帮助文件。
有没有人知道我可以在 PHP 中获得这条路径的方法,或者我没有想到的另一种语言会与我迄今为止所做的兼容?
示例路径类似于
\\server\share\path\to\file.doc
非常感谢。
编辑..
大家好,我回来补充更多细节,希望任何人都可以提供帮助// 这可以用 javascript/jquery/flash 或任何其他我可以与我的网站集成的网络语言来实现吗?
我将提供更多关于我想要实现的目标的信息..
我已经建立了一个公司内部互联网,它没有外部访问权限。用户使用其域凭据登录,并使用 LDAP 进行身份验证。该站点用于组织和显示我们分散在工作网络中的所有许多 .doc 和 .docx(帮助文件、表格和其他文档)。我正在使用 COM 从网络共享加载文件并显示它。第一次加载文件时,它会在服务器上创建一个本地副本 - 在从本地副本加载之后,除非它检测到原始文件的修改日期已更改,在这种情况下它将重新下载并使用 COM 翻译文件(原始修改日期在第一次访问时存储在 DB 中,并且在后续更新后也存储在 DB 中)。出于这个原因,系统必须知道原始文件的完整路径名。一切都很好,除了我目前存储文件完整路径的唯一方法是让一个管理员用户(有权添加和删除文件链接)输入完整路径,我觉得这对用户不太友好!文件本身存储在不同的服务器上,不同的共享,当然还有不同的文件夹,用户错误的余地很大!
无论如何,使用任何语言我都可以创建“用户选择”样式弹出窗口,以便用户可以遍历本地文件系统,选择共享或映射驱动器,然后导航到该文件,并为我然后能够保存这个完整的路径信息。我不需要上传文件,保存这个路径即可!
我在这条道路上几乎走到了尽头,因为浏览器和语言中的安全限制似乎不允许这样做。请帮助.. 我的应用程序已完成 99%,如果我能以用户友好的方式使其工作(更改 php/server (IIS) 中的选项,甚至在用户在我的网站上时更改浏览器.. flash.. 甚至asp.net(我目前不太了解,但如果需要,我会学习!
再次感谢!
【问题讨论】:
-
那么,什么是示例输入和预期输出?
-
如果您在提交该表单时使用文件上传输入进行表单,则原始文件的整个路径将在 $_SERVER 超级全局中,只需从那里将其拉出并粘贴到数据库中,你很高兴
-
@Rob - 我已经检查了所有 $_SERVER 超级全局变量(使用
print_r($_SERVER)并且在使用表单上传文件后无法在其中找到它......你确定吗?@deceze - 我希望用户在工作网络上选择一个文件,例如 'D:\somefolder\subfolder\filename.ext' 并能够访问这个原始路径 - 从我正在阅读的内容来看,尽管由于安全限制这可能是不可能的?