我正在为我的客户创建一个Web应用程序。该应用程序将安装在公司网络内的专用服务器上。 他希望在网页上看到他的本地文件列表(来自他的本地PC)。他的意思是任何访问者都可以从某个文件夹中看到他的本地文件列表。
我知道 Web应用程序无法访问访问者的文件系统。浏览器通过设计限制了它。 当然,可能会有一些浏览器扩展和applet以及Flash应用甚至黑客攻击..但事实并非如此。
但我怎么能向他解释这个?他指出我要拯救为'或者'加载文件'对话框,并说其他应用程序可以做到这一点。我不知道如何向他解释这只是浏览器的互动。
我试图谷歌获取一些证据链接,但无法快速找到。
你们可以给我一些指向无法从网络应用程序访问用户文件夹的文件的链接吗?
答案 0 :(得分:7)
最后我编写了一些引文并完成了它。
https://en.wikipedia.org/wiki/JavaScript#Security
脚本在沙箱中运行,在沙箱中它们只能执行与Web相关的操作 动作,而不是创建文件等通用编程任务
https://www.us-cert.gov/publications/securing-your-web-browser
JavaScript,也称为ECMAScript,是一种脚本语言,用于使网站更具交互性。 JavaScript标准中有一些规范限制某些功能,例如访问本地文件。
https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Introduction#restrictions
由于文件系统是沙盒,因此Web应用程序无法访问其他应用程序的文件。您也无法将文件读取或写入用户硬盘上的任意文件夹(例如,“我的图片”和“我的文档”)。
答案 1 :(得分:1)
Mozilla. File System API Restrictions
由于文件系统是沙盒,因此Web应用程序无法访问另一个 应用程序的文件。您也无法读取或写入任意文件 文件夹(例如,我的图片和我的文档)在用户的硬盘上 驱动。
答案 2 :(得分:1)
也许这个文件摇滚?
http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#security-considerations
第4.1节
应用程序可以请求临时或永久存储空间。临时存储可能更容易获得,UA可自行决定[更宽松的配额限制,可在不提示用户的情况下提供],但存储在那里的数据可能会在UA方便时被删除,例如:处理磁盘空间不足。
相反,一旦授予了持久性存储,UA就不应该在没有用户干预的情况下删除应用程序存储的数据。应用程序当然可以随意删除它。在向应用程序授予持久存储空间之前,UA应该要求用户许可。
此API指定文件系统上下文中的标准源隔离,以及跨调用的数据持久性。应用程序可能会使用临时存储来进行缓存,如果它仍然来自前一个会话,它通常很有用。另一方面,如果在下次调用时无法再次访问,则持久性数据将毫无用处。但是,即使是持久性数据也可以由用户手动删除[通过UA或通过直接文件系统操作]。
答案 3 :(得分:0)
与客户端 - 服务器模型争论怎么样? 您向服务器发送请求(网站请求,文件或其他),网络服务器可以响应。 服务器上没有直接的文件系统访问权限(中间的Web服务器),客户端可以选择他发送给服务器的内容(浏览器中的文件选择器对话框)。