![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: PHP
Datenspeicherung oder DB-Anfrage
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 |
AW: Datenspeicherung oder DB-Anfrage
Ja, eine Session würde sich hier anbieten
|
AW: Datenspeicherung oder DB-Anfrage
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 |
AW: Datenspeicherung oder DB-Anfrage
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 |
AW: Datenspeicherung oder DB-Anfrage
Zitat:
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. |
AW: Datenspeicherung oder DB-Anfrage
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 |
AW: Datenspeicherung oder DB-Anfrage
Die Werte dr Session bleiben ja auf dem Server. U.U. solltest du die Sessions an IPs binden
|
AW: Datenspeicherung oder DB-Anfrage
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 |
AW: Datenspeicherung oder DB-Anfrage
Es kommt halt auf die Dauer eine Session an. Bei einer persistenten Session macht das natürlich keinen Sinn.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz