Javascript Web应用程序访问用户';s文件系统

Javascript Web应用程序访问用户';s文件系统,javascript,security,web,filesystems,Javascript,Security,Web,Filesystems,我正在为我的客户创建一个web应用程序。该应用程序将安装在公司网络内的专用服务器上。 他想在网页上查看他的本地文件列表(来自本地PC)。他的意思是,任何访问者都可以从某个文件夹中看到其本地文件的列表 我知道web应用程序无法访问访问者的文件系统。浏览器通过设计限制了这一点。当然,可能会有一些浏览器扩展、小程序和flash应用程序,甚至黑客。。但事实并非如此 但我该怎么向他解释呢?他指给我看“另存为”或“加载文件”对话框,并说其他应用程序可以这样做。我不知道如何向他解释这只是一个浏览器的交互 我试

我正在为我的客户创建一个web应用程序。该应用程序将安装在公司网络内的专用服务器上。 他想在网页上查看他的本地文件列表(来自本地PC)。他的意思是,任何访问者都可以从某个文件夹中看到其本地文件的列表

我知道web应用程序无法访问访问者的文件系统。浏览器通过设计限制了这一点。当然,可能会有一些浏览器扩展、小程序和flash应用程序,甚至黑客。。但事实并非如此

但我该怎么向他解释呢?他指给我看“另存为”或“加载文件”对话框,并说其他应用程序可以这样做。我不知道如何向他解释这只是一个浏览器的交互

我试着在谷歌上搜索一些证据的链接,但没能很快找到


你们能给我一些关于无法从web应用程序访问用户文件夹的文档的链接吗?

与客户机-服务器模型争论如何? 您向服务器发送一个请求(网站请求、文件或任何东西),Web服务器可以响应。 服务器上没有直接的文件系统访问权限(中间是Web服务器),客户端可以选择发送给服务器的内容(浏览器中的文件选择器对话框)。

由于文件系统是沙盒,因此web应用程序无法访问其他应用程序 应用程序的文件。您也不能将文件读写到任意位置 用户硬盘上的文件夹(例如,我的图片和文档) 开车


也许这份文件很震撼

第4.1节

应用程序可以请求临时或持久存储空间。临时存储可能更容易获得,由UA自行决定[更宽松的配额限制,无需提示用户即可获得],但存储在那里的数据可能会在UA方便的情况下删除,例如,为了解决磁盘空间不足的问题

相反,一旦授予持久性存储,UA不应在没有用户干预的情况下删除应用程序存储在那里的数据。应用程序当然可以随意删除它。UA应在向应用程序授予持久存储空间之前获得用户的许可


此API指定文件系统上下文中的标准源代码隔离,以及跨调用的数据持久性。应用程序可能会使用临时存储进行缓存,如果它仍然存在于前一个会话中,那么它通常是有用的。另一方面,如果下次调用时无法再次访问持久数据,则持久数据是无用的。但是,即使是持久数据也可能被用户手动删除[通过UA或直接文件系统操作]。

最后,我编辑了一些引文,完成了

脚本在沙箱中运行,它们只能在沙箱中执行与Web相关的操作 操作,而不是像创建文件这样的通用编程任务

JavaScript,也称为ECMAScript,是一种脚本语言,用于使网站更具交互性。JavaScript标准中有一些规范限制某些功能,例如访问本地文件

由于文件系统是沙盒,web应用程序无法访问其他应用程序的文件。您也不能将文件读写到用户硬盘上的任意文件夹(例如“我的图片”和“我的文档”)


不可能。您可以打开在线应用程序,它有“从我的电脑打开”菜单项。单击它,您可以看到本地文件甚至已安装驱动器的列表。所以-魔术-它可以访问文件:(不,客户机-用户-希望将此拨号中选择的内容从浏览器发送到服务器。他是客户机,他可以选择发送的内容。OMG,我从许多网站打开了文件对话框。因此,现在他们都知道我的计算机上有哪些文件。文件对话框在客户机服务器上打开,甚至不知道是否有人打开或不打开该对话框。即使页面上的脚本也无法知道对话框中显示了哪些文件。它只能访问用户选择上载的文件,而其他文件则无法访问。你知道这一点。我知道这一点。但我需要校对链接向他显示:)好的,最后一次尝试,然后我放弃:他为什么认为该对话框是从服务器打开的???只需让他保存网站的html并断开与任何网络连接的连接,然后让他再次单击该死的文件选择器按钮。有趣的是,看起来确实没有高度可见的权威材料来支持这一众所周知的限制!当然,根据您的客户端允许您执行/安装的操作,有许多变通方法。他可能会在看到一些用于在线文件访问的NAS功能后请求。如果这对你有帮助的话,我只能写些书和小文章:还有