Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [Webserver] lokale Datenbankdatei oder Textdateien? (https://www.delphipraxis.net/201461-%5Bwebserver%5D-lokale-datenbankdatei-oder-textdateien.html)

DieDolly 24. Jul 2019 01:27

[Webserver] lokale Datenbankdatei oder Textdateien?
 
Vielleicht ist die Überschrift etwas verwirrend.
Auf meinem Server liegen mehrere Textdateien. Jede ist einem Nutzer zugeordnet. Da stehen sämtliche Informationen drin die man für ein Loginsystem so braucht.
Um einem Nutzer den weiteren Login zu verwehren, kann schließlich vorkommen, verschiebe ich diese Datei einfach von einem Verzeichnis ~users in ~blocked.
Bei einem Login prüft mein Script also alle diese ordner nach um herauszufinden, ob ein Nutzer blockiert wurde oder nicht.

Was ist für einen Webserver besser? Eine SQL-Datenbank oder meine Sache da oben? Also Datenbank würde ich wenn dann Adminer zur Verwaltung nutzen und wenn möglich eine lokale Datenbankdatei, die ich einfach vom Webserver kopieren und auf dem Windows-PC öffnen kann.
https://www.adminer.org/de/

Mavarik 24. Jul 2019 02:39

AW: [Webserver] lokale Datenbankdatei oder Textdateien?
 
Zitat:

Zitat von DieDolly (Beitrag 1437483)
Was ist für einen Webserver besser?

Besser... hmm

Einzelne Dateien sind sicherlich - weil weniger overhead - nicht so schlecht...

Aber vielleicht ein bisschen "unhandlich".

Ich würde "lieber" eine Datenbank nehmen.

Mavarik

DieDolly 24. Jul 2019 03:39

AW: [Webserver] lokale Datenbankdatei oder Textdateien?
 
Die richtige Datenbank teste ich noch.

Ein erster Performancevergleich zeigt, dass eine Abfrage über 3 Tabelleneinträge sehr viel schneller ist im Vergleich zu den einzelnen Textdateien.
Der Mehrfache Zugriff auf die Festplatte scheint wohl viel auszumachen.

Ein richtiger Test mit Sqlite und MySQL mit allen Abfragen die anfallen kommt aber erst noch.

Rollo62 24. Jul 2019 08:14

AW: [Webserver] lokale Datenbankdatei oder Textdateien?
 
Zitat:

Da stehen sämtliche Informationen drin die man für ein Loginsystem so braucht.
Das würde ich so (pseudo-)ano-nym wie möglich halten, also keine Passwörter, nur AccessToken.

Wenn das tatsächlich nur Logindaten sind denke ich auch das ist in einer DB besser aufgehoben, und sicherer als das selbst zu machen.
Du musst am Ende auch nachweisen können das deine Methoden DSGVO konform sind, das ist sicher einfacher basierend auf einem bewährtem System wie eine DB.

p80286 24. Jul 2019 08:27

AW: [Webserver] lokale Datenbankdatei oder Textdateien?
 
Zitat:

Zitat von DieDolly (Beitrag 1437483)
Bei einem Login prüft mein Script also alle diese ordner nach um herauszufinden, ob ein Nutzer blockiert wurde oder nicht.

Wenn sch ein Benutzer einloggen will soll er alle Dateien scannen? nicht nur die ihm zugeordnete??

Und ich liieebe Textdateien. Da kann ich so schön drin herum fummeln.

Entweder hast Du Dein System schlecht beschrieben oder Du solltest es wirklich einmal überdenken.

Gruß
K-H

jobo 24. Jul 2019 14:04

AW: [Webserver] lokale Datenbankdatei oder Textdateien?
 
Für ein reines Login kann man auch fertig aus der Dose Apache Basic Authenticatio oder komplexere nehmen.
Anschließend dann Zugriff auf die Text Datei, Daten (-bank), was auch immer.

Datenbanken haben mit Sicherheit den Vorteil, dass sie gezielte, effiziente Suche erlauben verglichen mit Textdateien. Wenn Dir text liegt, dann vielleicht eine noSQL "DB" als Alternative testen. Dann würde auch p80286 weiter seine Freude haben. ;)

Was ich nicht ganz verstehe, ist der Prüfansatz bei "blocked", es reicht doch die positiv prüfung. Und selbst dann wäre doch naheliegend login=(Teil des)dateiname.
Prüfaufwand also maximal 1 Datei lesen oder 2 wenn man unbingt schreiben will, "Ätschi, geblockt!"..
Ich habe noch kein System erstellt, das mehr zu einer fehlgeschlagenen Anmeldung sagt als "geht nicht". Das ist vielleicht gemein gegenüber eiligen Deppen, aber ansonsten erscheint es mir ganz vernünftig.

p80286 24. Jul 2019 15:05

AW: [Webserver] lokale Datenbankdatei oder Textdateien?
 
Zitat:

Zitat von jobo (Beitrag 1437556)
Datenbanken haben mit Sicherheit den Vorteil, dass sie gezielte, effiziente Suche erlauben verglichen mit Textdateien. Wenn Dir text liegt, dann vielleicht eine noSQL "DB" als Alternative testen. Dann würde auch p80286 weiter seine Freude haben. ;)

Oh danke, Du bist so lieb zu mir.
Aber im ernst, geht es um irgendeine Anwendung, die ihre Daten von enem Server holt, es gibt Zugriffsberechtigungen, die man einstellen kann. Ist es eine DB-Anwendung, "richtige" Datenbanken haben ein Berechtigungskonzept.
Im Augenblick sieht das für mich so aus, als würde ich einen Türsteher fragen, ob er mal ein paar LoginDaten hat,
m.M. nach wäre es besser zu fragen, ob man überhaupt für ein Login berechtigt ist.

Und nicht daß wir uns mißverstehen, ein geschützter Zugungspunkt muß sein, aber den Zugang über mehrere Möglichkeiten Filezugriff/Datenbank/wasweiß ich, verführt nur zu offenen Hintertüren, weil der Verwaltungsaufwand so hoch ist.

Gruß
K-H

DieDolly 24. Jul 2019 15:49

AW: [Webserver] lokale Datenbankdatei oder Textdateien?
 
Ich habe das ganze System jetzt auf SQLite umgebaut.
Das scheint super zu funktionieren.

Zitat:

Du musst am Ende auch nachweisen können das deine Methoden DSGVO konform sind, das ist sicher einfacher basierend auf einem bewährtem System wie eine DB.
Selbst wenn man die Datenbank klaut, kann man mit den Daten da drin nix anfangen. Darum habe ich mich schon gekümmert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz