2015-11-16 2 views
5

Ich erstelle eine Webanwendung für meinen Client. Die Anwendung wird auf einem dedizierten Server im Unternehmensnetzwerk installiert. Er möchte die Liste seiner lokalen Dateien (von seinem lokalen PC) auf der Webseite sehen. Er bedeutet, dass jeder Besucher die Liste seiner lokalen Dateien aus einem Ordner sehen kann.Webanwendung Zugriff Benutzer Dateisystem

Ich weiß, dass die Web-Anwendung keinen Zugriff auf Besucherdateisystem haben kann. Browser begrenzt dies durch Design. Natürlich könnte es einige Browser-Erweiterungen und Applets und Flash-Apps oder sogar Hacks geben. Aber das ist nicht der Fall.

Aber wie kann ich ihm das erklären? Er verweist mich auf die Dialoge "Speichern unter" oder "Datei laden" und sagt, dass andere Anwendungen dies tun können. Ich weiß nicht, wie ich ihm erklären soll, dass dies nur die Interaktion eines Browsers ist.

Ich habe versucht, einige Links zu Proofs google, aber nicht schnell etwas finden.

Können Sie mir einige Links zu den Dokumenten geben, die beschreiben, dass der Benutzerordner von der Webanwendung aus nicht erreichbar ist?

+1

Interessanterweise sieht es nicht so aus, als gäbe es hoch sichtbares autoritatives Material, das diese bekannte Einschränkung tatsächlich unterstützt! Natürlich gibt es viele Problemumgehungen, abhängig davon, was Ihr Client Ihnen erlaubt zu tun/zu installieren. Er könnte dies anfordern, nachdem er einige NAS-Funktionen für den Online-Dateizugriff gesehen hat. Wenn das Ihnen helfen kann, könnte ich nur Bücher und kleine Texte finden: http://help.adobe.com/en_US/air/security/WS485a42d56cd196415cc29732124ef23decb-7ff7.html und https://books.google.com/books ? id = ntsJqzfwFhkC & pg = PA258 & lpg = PA258 # v = eine Seite & q & f = falsch – ghybs

Antwort

7

Schließlich habe ich eine Zusammenstellung einiger Zitate und es ist getan ..

https://en.wikipedia.org/wiki/JavaScript#Security

Skripte in einer Sandbox ausgeführt, in der sie nur webbezogenen Aktionen ausführen können, nicht für allgemeine Zwecke Programmieraufgaben wie das Erstellen von Dateien

https://www.us-cert.gov/publications/securing-your-web-browser

JavaScript, auch bekannt als ECMAScript, ist eine Skriptsprache, mit der Websites interaktiver gestaltet werden. Es gibt Spezifikationen im JavaScript-Standard, die bestimmte Funktionen wie den Zugriff auf lokale Dateien einschränken.

https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Introduction#restrictions

Da das Dateisystem Sandbox ist, kann ein Web-App nicht die Dateien eines anderen App zugreifen. Sie können auch keine Dateien in einem beliebigen Ordner (z. B. Eigene Bilder und Eigene Dateien) auf der Festplatte des Benutzers lesen oder schreiben.

0

Wie steht es mit dem Client-Server-Modell? Sie senden eine Anfrage an den Server (Website-Anfrage, Datei oder was auch immer) und der Webserver kann antworten. Es gibt keinen direkten Dateisystemzugriff auf dem Server (Webserver dazwischen), und der Client kann auswählen, was er an den Server sendet (Dateiauswahldialog im Browser).

+0

Kein Weg. Sie können die https://www.sumopaint.com/ Online-Anwendung öffnen und es hat den Menüpunkt "Öffnen von meinem Computer". Wenn Sie darauf klicken, können Sie die Liste Ihrer lokalen Dateien und sogar gemountete Laufwerke sehen. Also - Magie - es kann auf die Dateien zugreifen. :( – baldr

+0

Nein, der Client - der Benutzer - möchte genau das in diesem Dialouge ausgewählte Zeug vom Browser zum Server senden. Er ist der Klient, er kann wählen, was er sendet. –

+2

OMG, ich habe Dateidialog von so vielen geöffnet Jetzt wissen sie alle, welche Dateien auf meinem Computer sind. ** Der Dateidialog ** ist auf dem Maschinenserver des Clients geöffnet und weiß nicht einmal, ob jemand diesen Dialog geöffnet hat oder nicht. Sogar Ihr Skript auf der Seite kann nicht wissen, welche Dateien angezeigt werden Der Dialog kann nur auf die Datei zugreifen, die der Benutzer auswählt, um nichts anderes hochzuladen. – TheVillageIdiot

1

Mozilla. File System API Restrictions

Da das Dateisystem Sandbox ist, kann ein Web-App nicht anderen Dateien App zugreifen. Sie können auch keine Dateien in einem beliebigen -Ordner (z. B. Eigene Bilder und Eigene Dateien) auf dem Festplattenlaufwerk des Benutzers lesen oder schreiben.

1

Vielleicht rockt dieses Dokument?

http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#security-considerations

Abschnitt 4.1

Eine Anwendung kann vorübergehend oder persistent Speicherplatz anfordern. Temporärer Speicher kann nach Ermessen der UA leichter zu bekommen sein [Einschränkungen durch lose Kontingente, die verfügbar sind, ohne den Benutzer aufzufordern], aber die dort gespeicherten Daten können nach Belieben der UA gelöscht werden, z. um mit einem Mangel an Speicherplatz fertig zu werden.

Umgekehrt, sobald persistenter Speicher gewährt wurde, sollten Daten, die dort von der Anwendung gespeichert wurden, vom UA nicht ohne Benutzereingriff gelöscht werden. Die Anwendung kann sie natürlich nach Belieben löschen. Der UA sollte die Erlaubnis des Benutzers erfordern, bevor er der Anwendung dauerhaften Speicherplatz gewährt.

Diese API gibt die Standard-Ursprungsisolation in einem Dateisystemkontext an, zusammen mit der Persistenz von Daten in mehreren Aufrufen. Anwendungen werden wahrscheinlich temporären Speicher zum Zwischenspeichern verwenden, und wenn es von einer vorherigen Sitzung noch vorhanden ist, ist es oft nützlich. Persistente Daten hingegen sind nutzlos, wenn Sie beim nächsten Aufruf nicht mehr darauf zugreifen können. Jedoch können auch persistente Daten manuell vom Benutzer gelöscht werden [entweder über die UA oder über direkte Dateisystemoperationen].