Ich habe eine social networking site for gardeners Website entwickelt und bin daran interessiert, Benutzern die Möglichkeit zu geben, Bilder zu ihren "Tweets" hinzuzufügen.Wie kann ich Bilder auf meiner Website sicher und kostengünstig zulassen?
Wenn ich ihnen erlaube, Bilder auf die tatsächliche Seite hochzuladen, scheint es, als würde dies schnell teuer werden (dies ist ein Nebenprojekt, das von niemandem finanziert wird, außer mir und meinen eigenen Obsessionen). Nehmen wir an, die Website wird mäßig populär, wobei 100.000 Nutzer ein Bild pro Woche mit einer Größe von nur 250K veröffentlichen. Das ist (100000 * .1 * 52/1024) = 508 MB/Jahr im Speicher (und das berücksichtigt keine erhöhte Bandbreite). Außerdem müsste ich die Serverlast erhöhen, um die Bilder zu skalieren. Ich bin mir nicht sicher, ob ich damit weitermachen soll oder ob es bessere Möglichkeiten gibt.
Die Verknüpfung mit anderen Websites scheint in mancher Hinsicht besser zu sein. Sie haben defekte Links, aber eine größere Sorge für mich ist Sicherheit: XSS.
Die Anwendung ist auf Rails 3, mit MongoDB/Mongoid als Backend, wenn das von Bedeutung ist.
Ich bin auf der Suche nach Lösungen, wie zum Beispiel:
- APIs, die Bilder auf externen Websites speichern. Was wäre ideal, ist die Möglichkeit, es auf meine Website zu laden und einen API-Aufruf zu machen, um es auf einer externen Site zu speichern.
- APIs (möglicherweise Javascript-APIs), die den sicheren Anschluss an eine oder mehrere externe Bildhosting-Sites erleichtern.
- Markdown oder ähnliches Markup, die eine sichere Verknüpfung mit externen Bildern ermöglichen. Ich bin daran interessiert, Benutzern die Möglichkeit zu geben, ihre Beiträge auf begrenzte Weise zu formatieren, so dass dadurch zwei Probleme gleichzeitig gelöst werden können. Ich merke, dass dies der Stack Overflow ist.
- Sicherheitsbibliotheken, die Bild-URL-Muster auf die weiße Liste setzen
- Ratschläge, warum ich über dieses Problem falsch nachdenke. Zum Beispiel, vielleicht sollte ich nur die Bilder speichern. 500 MB pro Jahr sind wirklich nicht so teuer und erlauben mir eine sehr saubere Benutzererfahrung.
Meine Ziele sind (in der Reihenfolge): - Sicher, sowohl für meine eigene Website, und nicht XSS Angriffe auf andere Websites zu ermöglichen - Bestmögliche User Experience - Leicht zu pflegen und zu implementieren
Was haben Sie unternommen, um von Benutzern bereitgestellte Bilder auf Ihrer Website zuzulassen?
Was ich sagen wollte. 508MB im Speicher würden bei S3 ungefähr $ 1 kosten. –