AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Datenspeicherung oder DB-Anfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Datenspeicherung oder DB-Anfrage

Ein Thema von fkerber · begonnen am 21. Jun 2010 · letzter Beitrag vom 21. Jun 2010
Antwort Antwort
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

Datenspeicherung oder DB-Anfrage

  Alt 21. Jun 2010, 20:29
Datenbank: MySQL • Version: 5 • Zugriff über: PHP
Hi,

sorry für den komischen Titel, aber ne andere Beschreibung in wenig Zeichen fiel mir nicht ein.

Worum es mir geht ist folgendes:
Ich hab ein PHP-System (Webseite), in das man sich einloggt und jeder Nutzer hat (in der DB gespeichert) verschiedene Eigenschaften (sagen wir der Einfachheit halber mal es wären zwei Felder die je so eine Art Sicherheitsstufe bedeuten.)

Die Frage ist jetzt - wie gehe ich mit diesen Infos um.
Bisher mache ich es so, dass ich sie nach dem Login auslese und in der Session abspeichere. So kann ich jederzeit darauf zugreifen, ohne deswegen nochmal die DB anfragen zu müssen bzw. ohne in einer Anfrage nochmal mit der User-Tabelle joinen zu müssen. Ist das der sinnvolle Weg oder würde man besser jedes Mal nochmal die DB-Anfragen (bzw. es mit in vorhandene Abfragen einbauen)?

Konkret geht es um drei DB-Felder, die bei jedem Seitenaufruf geprüft werden müssten und je nach Seite noch bis zu 2 weitere...


Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datenspeicherung oder DB-Anfrage

  Alt 21. Jun 2010, 20:38
Ja, eine Session würde sich hier anbieten
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Datenspeicherung oder DB-Anfrage

  Alt 21. Jun 2010, 20:38
Also wenn es eine Berechtigung oder Sicherheitsstufe ist, würde ich sagen, dass es auf den Anwendungsfall ankommt.
Konkret musst Du entscheiden, wie wichtig es ist, dass du immer den aller aktuellsten Stand zur Verfügung stehen hast oder es reicht, wenn das beim User-Login ermittelt wird.

Folgen Faktoren könnten noch interessant sein:
a) Wie sicherheitskritisch ist die Anwendung?
b) Wie komplex ist diese Abfrage nach der Sicherheitsstufe?
c) Wie oft ändern sich diese Werte in der Regel? Wird das einmal eingestellt oder ändert sich das während der Session mal öfters?
d) Wie lange dauert eine User-Session im Schnitt?

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

AW: Datenspeicherung oder DB-Anfrage

  Alt 21. Jun 2010, 20:42
Hi!

a) schon relativ - es hängen keine Menschenleben davon ab - aber uU Schulnoten z.B.
b) nicht sehr - JOIN auf die Usertabelle ON id = id quasi und dann numerisches Feld mit einbeziehen
c) quasi nie
d) ähm - gute Frage So wie es auf dem Server voreingestellt ist - also ich hab noch nie ein Timeout bekommen - würde daher sagen vom Einloggen bis zum Ausloggen / schließen des Browsers.


Grüße, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Datenspeicherung oder DB-Anfrage

  Alt 21. Jun 2010, 21:20
Dann spricht meiner Ansicht nach nichts dagegen diese Daten über die Session zwischenzuspeichern (also quasi das als Cache zu benutzen).

Könntest natürlich auch einen Timeout innerhalb der Session vermerken, sodass z.B. alle 5 Minuten spätestens die Werte neu aus der Datenbank in die Session gelesen werden... damit würdest Du dich ein Stückchen Richtung der Anforderungen aus a) bewegen - möglich wäre auch, dass bestimmte besonders kritische Module (falls es solche gibt) diesen Wert immer aus der DB lesen oder so.
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

AW: Datenspeicherung oder DB-Anfrage

  Alt 21. Jun 2010, 21:44
Hi!

Gut, es bestehen also keine sicherheitsrelevanten Bedenken, dass man sowas in der Session speichert?

Dann würde ich das aktuelle System beibehalten - macht die Queries schlanker.



Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Datenspeicherung oder DB-Anfrage

  Alt 21. Jun 2010, 21:50
Die Werte dr Session bleiben ja auf dem Server. U.U. solltest du die Sessions an IPs binden
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

AW: Datenspeicherung oder DB-Anfrage

  Alt 21. Jun 2010, 22:26
Hi!

Da bin ich ehrlich gesagt kein Freund von.
Zumindest nach meinem Wissensstand gibt es doch ISP, bei denen man als Kunde öfter mal ne neue IP gibt (namentlich schwirrt mir da mal AOL im Kopf rum...)
Für die wäre das ziemlich doof.


Grüße, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Datenspeicherung oder DB-Anfrage

  Alt 21. Jun 2010, 22:36
Es kommt halt auf die Dauer eine Session an. Bei einer persistenten Session macht das natürlich keinen Sinn.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 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