Beat: Frame vs Include

Beitrag lesen

Vielleicht habe ich mich nicht gut genug ausgedrückt. In den Frames, so wie ich sie mir vorstelle, werden nur Session-Variablen bezogen und sonst nichts!

Ja und du drückst dich weiter ungenau aus. In den Frames werden ressourcen geladen.
Was du tun kannst: Die Frameset definierende Datei ist eine Datei, die gleichzeitig Sessions verwaltet. Diese Fähigkeit erstreckt sich aber nicht auf die Ressourcen in den Frames.

Die Datenbankverbindung ist schon längst gelaufen bis dahin. Das ist ja der Springende Punkt.

Der Springende Punkt bei Sessions ist, dass IDs für jeden schützenswerten Content bei jedem Request zu prüfen sind.

Also derzeit sieht das bei mir so aus

include("datenbank.php"); // Baut Datenbankverbindung her
include("allgemine.funktionen.php"); // Funktionen die ich in jedem Projekt brauche
include("lokale.funktionen.php"); // Lokale Funktionen
include("verifikation_der_url.php"); // Überprüft ob der Url-Aufruf genehmigt wird
include("brain.php"); // Eigentlich Scripte für die "Berechnungen" von Variablen ect.
mysql_close($link); // Datenbank schließen

...
(Seite darstellen)
include("part1.php");
(Seite darstellen)
include("part2.php");
(Seite darstellen)
include("part3.php");
...

Ist doch Theoretisch "sauber" oder?

Und du verbirgst, wie ich über die urls, die du in frames zu deponieren hast, mir einen direktzugriff erlaubst, der sich deiner Kontrolle entzieht.

Vielleicht ist es aber noch Sinnvoller das Eigentlich Script von der Website zu trennen. Sprich thinking.php als erste Anlaufstelle und wenn das abgearbeitet ist wird erst start.php geladen und da wird nichts gemacht außer Variablen auszulesen. aber was hat man dann für einen Vorteil? Es dauert ja genau so lang wie vorher!?

Dein Hauptscript sollte nur schnell sich ins Reine kommen, welches der geforderte Aufgabensektor (hier mit Frame assoziiert) ist, und nur das auf Bedarf einbinden/abarbeiten.
Vor dieser Entscheidung steht aber immer die Rechteentscheidung. Es sollte konzeptionell schlicht unmöglich sein, dass sich über Frames etwas daran vorbeimogeln kann. Das tut es aber, weil du urls für die Frameinhalte publizieren musst, und dann eine Prüfung, woher der Request stammt, nur möglich ist, indem jeder Frameinhalt wiederum die Fähigkeit zur Sessionprüfung hat.

Du erzeugst damit eine Redundanz, die du ohne Frames vermeiden kannst.

Abgesehen davon ist das EVA Prinzip am konsequentesten zu realisieren, indem man alles (schützenswerte) über einen zentralen Prozess leitet.

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o