Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich bin gerade dabei eine Kundenbackend aufzubauen. An sich ist das ja alles ganz einfach. Das einzige Feature, dass mir Kopfschmerzen bereit ist der Abruf der Rechungen online aus dem Kundenbackend.

Ich kann ja nicht einfach alle Rechnungen in das gleiche Verzeichnis hochladen, dann ist es ja fuer jedermann mehr als einfach sich alle Rechnungen anzusehen:

Wenn zB die URL wie folgt waere:

kundenbackend.de/rechnungen/179543.pdf

muesste man das ja nur die letzten nummern der rechnungsnummer abaendern, um sich eine andere Rechnung eines anderen Kunden ansehen zu koennen.

Wie kann ich dies nun sicher verwirklichen ohne, dass ich von Hand fuer jede Rechnung einen neuen Ordner oder so anlegen muss.

Bitte verschieben wenn dies im falschen Board gepostet wurde. Ich bin mir nicht so sicher ob man das ueber die Datenbank oder anders verwrklichen kann.

Du wirst ja wohl hoffentlich eine Authentifizierung haben.

Dann legst du die Rechnungen in ein NICHT öffentliches (sprich über das Web direkt erreichbares) Verzeichnis und schaltest ein Script davor, das überprüft, ob die jeweilige Rechnung zum angemeldeten Kunden gehört und sie entsprechend durch reicht oder eben nicht.

Die Authentifizierung fuer das Backend laeuft ueber Session IDs. Aber ich habe leider keine Ahnung wie ich diese Authentifizierung auf die einzelnen Dateien anwende. Zugegeben meine PHP Kenntnisse sind nicht gerade die besten, kann mir vielleicht jemand noch einen Denkanstoss geben wie das Script aussehen sollte oder wo ich INfos finden koennte zu solch einem Script.

Die Datenbank mit den entsprechenden Tabellen sieht ungefaehr so aus:

Member Tabelle

Kundennummer

Passwort

Rechnungen Tabelle

Rechnungsnr.

Leistung

Betrag

.

.

.

Bearbeitet von tobik999

Ich sehe keine Verknüpfung zwischen Member und Rechnungen. So kann das mit der Sicherheit nichts werden. Nur wenn die Rechnungen auch in der Datenbank Kunden zugeordnet sind, kannst du dafür sorgen, das nicht Kunde A irgendwie an die Rechnungen von Kunde B kommt.

Das sieht mir aber schwer nach einem aufziehenden Desaster aus... :rolleyes:

Ich empfehle folgendes Vorgehen: Datenbank mit Kunden- und Rechnungsdaten. Authentifizierung via PHP und Speicherung via Sessions. Entweder generierst Du jedes Mal, wenn der Kunde die Rechnung aufruft, die Rechnung als PDF aus den Datenbank oder wie gesagt Du speicherst nur die Rechnungsnummer und legst die Dateien in ein nicht-öffentliches Verzeichnis aus dem Du dann die Datei liest und per HTTP sendest

Also die Kundennummer steht in der Session und auch in der Rechnungstabelle (habe ch gestern ein bisschen falsch beschrieben, war ja auch schon sehr spaet).

Das mit der Rechnung aus der Datenbank generieren hoert sich interessant an, aber ist das viel aufwendiger als eine pdf auszugegeben.

Die Ausgabe mit readfile ist ja viel einfacher, aber ich habe gelesen, dass dies sehr stark den RAM belasten soll.

Im Moment tendiere ich zu einer Loesung mit symlinks. ICh denke mal symlinks ist auch ressourcenschonender als die PDF jedes mal aus der Datenbank neu zu generieren, oder?

Was DU mit readfiles und Symlinks willst ist nicht verständlich.

Man würde aus der DB die Rechnungsdaten lesen und beim ersten Aufruf das PDF generieren, wenn es resourcenschonender sein soll, dann cached man dieses PDF eben zwischen und löscht es ggf nach einer gewissen Zeit.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.