2017-11-03 1 views
0

Ich habe eine PHP e-Start-Website, die E-Books verkauft.Beschränken Sie den Zugriff auf statische Web-Site Amazon S3 nur für registrierte Benutzer

Jedes E-Book wird auf Amazon S3 als statische HTML-Webseite gespeichert, die auch auf eine Reihe von CSS-, JS- und Schriftdateien verweist.

Zum Beispiel: https://s3.eu-west-2.amazonaws.com/university-revision-guru/example/index.html#page=1

Ich möchte den Zugang zu beschränken, um der Lage sein, auf diese Datei, so dass nur bestimmte registrierte Benutzer in der Datenbank zugreifen können. Wie kann ich das machen?

Es scheint, als ob die Amazon S3-Berechtigungseigenschaft nur Zugriff auf bestimmte AWS-Konten, IP-Adressen ODER vollständig öffentlich erlaubt. Daher ist klar, dass ich wahrscheinlich am Ende der Anwendung etwas arbeiten muss.

Wie kann ich den Zugriff auf eine statische Website von Amazon S3 beschränken, sodass nur bestimmte registrierte Benutzer in meiner Datenbank darauf zugreifen können?

Antwort

2

Sie können den Bucket privat machen und jedes Mal, wenn ein Benutzer das Buch anzeigen möchte, müssen Sie sich auf Ihrer Website anmelden, um den Link zu erhalten. Lassen Sie Ihre PHP-App dann einen S3 pre-signed URL generieren, wenn ein Benutzer den Link anfordert.

0

Sie einen Blick auf Amazon Cognito nehmen könnte für Sicherheitsprobleme, fand ich eine Antwort, die sein könnte, was Sie einen Blick auf nehmen müssen: Amazon Cognito S3

1

es hier ein einfacher 5step Führer zu tun.

  1. Integrieren Sie aws php sdk in Ihre Anwendung.
    1. Speichern Sie die S3-Taste für jedes Buch.
    2. Steuern Sie die Ebook-URLs über Ihre Website. So etwas wie http://your-website.com/ebook.php?book= 'Flügel des Feuers & Buch-ID = 123. (Sie werden die Sicherheit des Benutzers verwalten und hier klicken)
    3. Verwenden Sie die Buch-ID oder den Namen, finden Sie die entsprechende S3-Taste.
    4. Mit der aws php sdk, erhalten Sie den Dateiinhalt (Sie können entweder den Inhalt von aws und senden sie als Anhang an den Benutzer oder generieren eine vorzeichnete URL und Umleitung Benutzer auf diese URL) Hier ist wie zu get object und hier erhalten Sie pre-signed-url.
Verwandte Themen