Amazon S3 - Direktes Hochladen, Aktion URL verbergen, die der Benutzer nicht sehen kann

We use Amazon S3 for storing large files, so we use direct upload from user's browser as described here: http://aws.amazon.com/articles/1434

Meine Frage ist: könnte ich die Aktions-URL des Formulars irgendwie ausblenden, damit der Benutzer nicht herausfinden kann, wo die Datei hochgeladen wird? Wäre es 100% hiden oder könnte ich es zumindest für erfahrene Benutzer zumindest erschweren, es zu finden?

Vielen Dank.

1

2 Antworten

Nun, Sie müssen dem Benutzer die Informationen geben, damit sie ihn zum Hochladen auf S3 verwenden können. Die einzige Möglichkeit, sie zu verbergen, wäre, sie POST auf Ihrem Server zu haben, wo Sie sie dann erneut an S3 senden. aber das besiegt den Zweck, nicht wahr?

Worum geht es genau? Das Dokument, das du verlinkt hast, zeigt, dass du alles unterschreiben musst, damit sie wissen, dass nur du dieses Formular erstellt haben kann ... also ist es nicht so, als ob irgendjemand mit deinen Daten umgehen könnte.

2
hinzugefügt
Nun, nein ... weil der Quellcode (wirklich, Markup) dem Client zur Verfügung gestellt wird, damit der Client darauf agieren kann. Selbst wenn es irgendwie verschleiert wäre, muss der Benutzer dennoch die Adresse kennen, um die Adresse zu verwenden. Wenn dies sicherheitsmotiviert ist, ist das nicht der richtige Weg. Wenn dies stolz motiviert ist (will nicht mit Out-of-house-Infrastruktur gesehen werden), verwenden viele Unternehmen S3 für genau diese Art von Sache. Wenn dies aus einem anderen Grund ist, gibt es wahrscheinlich eine bessere Lösung. Was versuchst du damit zu erreichen?
hinzugefügt der Autor Robert, Quelle
Das könnte funktionieren, wenn Sie versuchen, die URL schöner aussehen zu lassen, aber nichts ändert, außer dem Host-Teil der URL. Und jeder, der so geneigt ist, könnte den Domainnamen noch überprüfen und feststellen, dass er auf S3 zeigt. Wenn dies aus Sicherheitsgründen ist, wird es nicht funktionieren.
hinzugefügt der Autor Robert, Quelle
Danke für die schnelle Wiederholung. Der Zweck ist, dass unser Geschäft weiß, wie man große Dateien speichert, aber wir wollen anderen Benutzern nicht mitteilen, wo genau diese Dateien gespeichert sind. Leider ist die Lösung mit Upload auf unseren Server aufgrund des hohen Datenverkehrs leider nicht möglich. Also wollen wir es direkt vom Benutzer auf Amazon S3 hochladen. Ist es möglich, die URL-Adresse irgendwie zu überschreiben, so dass das Formular im Quellcode eine Aktion mit der URL unseres Servers hat, aber in Wirklichkeit auf Amazon zeigt? Vielen Dank.
hinzugefügt der Autor kamil, Quelle
Nun, wir müssen die Aktions-URL des Formulars nicht verstecken (es könnte die URL meines Servers sein), aber wir können die Amazon-URL nicht anzeigen. Ich bin gerade auf diese Lösung gestoßen, könnte es funktionieren?
hinzugefügt der Autor kamil, Quelle
Ok, danke für diese Beratung. Nein, es ist nicht für Sicherheitszwecke. Es ist nur für den Versuch, unser Backend zu verstecken, das ist alles.
hinzugefügt der Autor kamil, Quelle

Sie können es nicht verstecken, da der ganze Punkt von ihrem Computer direkt zu s3 geht, der schnellste Weg. Selbst wenn Sie es aus dem Code entfernt haben und Ihre Formular-Schaltfläche "Senden" eine URL zur Verwendung angefordert hat, dann verstecken Sie sich, sie befindet sich lediglich in der Netzwerkaktivität von console.log. Wenn Sie s3 verwenden müssen, sollten Sie vielleicht einen schnelleren Uploader installieren (oder einen in c? Haha schreiben) als den Knoten, wenn Sie ihn über Ihren Server laufen lassen wollen. Das wirft die Frage auf, welche Sprache/Framework am schnellsten auf s3 hochladen kann?

0
hinzugefügt