Wie Ihr Logo Beim Hochladen Gespeichert Wird
In diesem Artikel
Ihr Firmenlogo erscheint auf jeder Rechnung, die Sie erstellen, was bedeutet, dass es auch Monate oder Jahre später noch vorhanden sein muss — selbst wenn die Stelle, von der Sie das Bild ursprünglich bezogen haben, offline geht, ihre URL-Struktur ändert oder Anfragen mit direkter Verlinkung zu blockieren beginnt. Diese Zuverlässigkeitsanforderung erklärt, warum die Logospeicherung so funktioniert, wie sie funktioniert: Wenn Sie Ihr Firmenprofil auf eine externe Bild-URL verweisen lassen, speichert der Server nicht einfach diese URL — er ruft das Bild selbst ab und wandelt es in etwas Eigenständiges um.
Zwei Verschiedene Ausgangspunkte, Ein Gespeichertes Ergebnis
Es gibt eigentlich zwei Wege, auf denen ein Logo-Wert beim Server ankommen kann. Wenn Sie eine Datei direkt über die Logo-Auswahl hochladen, kodiert der Browser sie typischerweise bereits als Daten-URL — die Bilddaten selbst, base64-kodiert und direkt in eine Zeichenfolge eingebettet —, bevor sie überhaupt gesendet wird. Fügen Sie stattdessen einen Link zu einem anderswo gehosteten Bild ein, ist das eine gewöhnliche http://- oder https://-URL, also ein Verweis auf ein Bild statt das Bild selbst. Der Server behandelt diese beiden Fälle unterschiedlich: Alles, was bereits eine Daten-URL ist, wird unverändert belassen, während alles, was als externe HTTP- oder HTTPS-URL erkannt wird, vor dem Speichern abgerufen und umgewandelt wird.
Was Geschieht, Wenn Sie Auf Eine Externe URL Verweisen
Wenn der zu speichernde Wert eine externe URL ist, stellt der Server seine eigene HTTP-Anfrage, um sie abzurufen — mit einem Accept-Header, der gängige Bildformate auflistet, und einem eigenen User-Agent, der die Anfrage als von der eigenen Abrufkomponente der Rechnungsplattform stammend kennzeichnet, nicht von einem Browser. Schlägt diese Anfrage vollständig fehl oder beginnt der Inhaltstyp der Antwort nicht mit image/, wird das Speichern mit einer Meldung abgelehnt, die Ihnen mitteilt, dass die Logo-URL nicht geladen werden konnte, und vorschlägt, die Datei direkt hochzuladen oder eine tatsächlich erreichbare URL zu verwenden. Diese Prüfung existiert eigens, um zu verhindern, dass jemand das Logofeld etwa auf eine HTML-Seite oder eine Weiterleitungskette richtet, die nie zu echten Bilddaten führt.
Die 2-MB-Grenze, Zweifach Geprüft
Abgerufene Bilder sind auf 2 MB begrenzt, und diese Grenze wird an zwei statt an einer Stelle durchgesetzt. Erstens: Meldet der content-length-Header der Antwort eine Größe über der Grenze, wird die Anfrage sofort abgelehnt, ohne den Inhalt überhaupt herunterzuladen. Da ein Server aber nicht verpflichtet ist, einen ehrlichen Content-Length-Header zu senden, wird die tatsächlich heruntergeladene Byteanzahl erneut geprüft, nachdem das vollständige Bild in den Speicher eingelesen wurde, und auch an dieser Stelle abgelehnt, falls sich herausstellt, dass sie die Grenze überschreitet, entgegen dem, was der Header behauptete. Beide Prüfungen werfen denselben Fehler "Bild ist zu groß"; der Unterschied liegt rein darin, keine Zeit und Bandbreite mit dem Herunterladen einer übergroßen Datei zu verschwenden, wenn der Header es allein schon verrät.
Warum Statt Nur Den Link Zu Speichern In Eine Daten-URL Umgewandelt Wird
Sobald ein Abruf gelingt und beide Größenprüfungen besteht, werden die Bilddaten base64-kodiert und mit dem Inhaltstyp der Antwort zu einer Daten-URL kombiniert, und diese Daten-URL — nicht der ursprüngliche externe Link — ist das, was als Ihr Logo gespeichert wird. Das ist der Teil, der das Zuverlässigkeitsproblem tatsächlich löst: Sobald die Umwandlung stattgefunden hat, hängt Ihr gespeichertes Logo nicht mehr davon ab, dass die ursprüngliche URL online, unverändert und erreichbar bleibt. Geht die Seite, auf die Sie ursprünglich verlinkt haben, später offline, ändert sie ihre Bildpfade oder beginnt sie, Anfragen von außerhalb von Browsern zu blockieren, sind Ihre Rechnungen davon nicht betroffen, weil die Plattform diese URL nicht mehr abruft — sie hat sie genau einmal abgerufen, zum Zeitpunkt des Speicherns, und seither ihre eigene eigenständige Kopie aufbewahrt.
Der Kompromiss, Den Sie Eingehen
Der Preis dieses Ansatzes ist, dass Ihr Logo genau so eingefroren ist, wie es in dem Moment aussah, als Sie es gespeichert haben. Aktualisieren Sie später das Bild an der ursprünglichen URL — ein Redesign, eine höher aufgelöste Version —, wird sich diese Änderung nicht automatisch auf Ihr Rechnungslogo übertragen, weil die Plattform nach der ersten Umwandlung überhaupt nicht mehr auf diese URL schaut. Ihr Logo künftig zu aktualisieren bedeutet, Ihr Firmenprofil erneut mit dem neuen Bild zu speichern, auf dieselbe Weise, wie Sie es ursprünglich eingerichtet haben, statt die Datei an der ursprünglichen Adresse zu bearbeiten und zu erwarten, dass sie durchsickert.
Ähnliche Artikel
Wie eine Rechnung Gespeichert Wird: Eine Zeile pro Position, Plus eine Vollständige Kopie
Eine gespeicherte Rechnung besteht aus einer Datenbankzeile pro Position, verbunden über eine gemeinsame Gruppen-ID, und jede Zeile enthält eine vollständige Kopie der Rechnung. Beim Speichern einer Änderung werden all diese Zeilen in einer Transaktion ersetzt.
Warum Anmeldeversuche Begrenzt Werden
Anmeldung, Registrierung, Zwei-Faktor-Prüfungen und das erneute Senden von Bestätigungs-E-Mails teilen sich ein Kontingent von 10 Versuchen pro Stunde und IP-Adresse. Das ist deutlich strenger als die Grenze für normale Anfragen in der App. Darum unterscheiden sich die Zahlen.
Wie Registrierung und E-Mail-Verifizierung Tatsächlich Funktionieren
Beim Anlegen eines Kontos wird in derselben Datenbanktransaktion ein persönlicher Arbeitsbereich eingerichtet. Der Bestätigungslink ist 24 Stunden gültig, und wer auf einen abgelaufenen Link klickt, bekommt automatisch einen neuen zugeschickt.
Warum Sie Nach Einer Stunde Abgemeldet Werden
Jedes Sitzungstoken läuft exakt nach einer Stunde ab, und es gibt keinen versteckten Aktualisierungsmechanismus, der es still und heimlich verlängert — plus die eine bewusste Ausnahme für Anmeldungen mit Zwei-Faktor-Authentifizierung.
Wie Kundenportal-Links Ablaufen
Ein Portallink ist standardmäßig 30 Tage gültig, prüft das Ablaufdatum bei jeder Anfrage statt im Voraus, und ordnet die Dokumente eines Kunden über einen exakten Abgleich zu — nicht über einen Fremdschlüssel.
Wie die Ansichtsverfolgung von Rechnungen Wirklich Funktioniert
Zwei getrennte Mechanismen erfassen, wann ein Kunde Ihre Rechnung öffnet — ein laufender Zähler und ein detailliertes Ereignisprotokoll — und ein passwortgeschützter Freigabelink zählt erst als angesehen, sobald das Passwort eingegeben wurde.