Linuchs: Switchen zw. Echt- und Schulungssystem

Hallo,

für ein Projekt habe ich ein Schulungssystem eingerichtet. Das heißt, eine Datenbank angelegt. Daten werden dorthin vom Echtsystem kopiert und können "verwurstelt" werden.

Auf dem Start-Bildschirm gibt es zwei Formulare. Man kann sich am Echt- oder Schulungssystem anmelden.

Problem: Wie sage ich dem System, dass bei jedem neu aufgerufenen Programm auf die Schulungs-DB zuzugreifen ist?

Meine Lösung, mit der ich nicht ganz zufrieden bin: Ich setze bei der Anmeldung zur Schulung ein Cookie und frage das bei jedem Programmwechsel ab. Da jedes Programm über die index.php gestartet wird, konnte ich das hier bequem unterbringen ohne weitere Programme anfassen zu müssen. Bei Anmeldung am Echt-System wird das ggf. vorhandene Cookie gelöscht.

Hat zur Folge, dass der User nicht gleichzeitig am Echt- und Schulungssystem arbeiten kann. Ausserdem halte ich Cookies nicht für besonders verlässlich.

Wie könnte ich es besser machen?

Gruß, Linuchs

  1. Moin!

    Hat zur Folge, dass der User nicht gleichzeitig am Echt- und Schulungssystem arbeiten kann.

    So hätte ich das auch gemacht!

    Ausserdem halte ich Cookies nicht für besonders verlässlich. … Wie könnte ich es besser machen?

    Dann lege das Echt- und das Schulungssystem auf verschiedene Server und sorge dafür, dass ein Benutzer, der sich am Schulungssystem anmeldet auf dem Echtsystem das Schreibrecht verliert bis er sich auf dem Schulungssystem abmeldet. Das kann man z.B. mittels curl regeln, in dem man die IP des sich anmeldenden bzw. abmeldenden überträgt.

    Du musst solchen Verwechslungen unbedingt vorbeugen, denn diese werden sonst definitiv vorkommen, es sei denn Du versiehst (so wie einst oder jetzt noch SuSE den root-account im KDE) gleich mit einem rotem Hintergrund um Gefahr zu signalisieren.

    Jörg Reinholz

    1. Moin Jörg,

      Dann lege das Echt- und das Schulungssystem auf verschiedene Server

      Keine gute Idee, weil dann ja auch die Programme doppelt sein müssten. Bei jeder Programmänderung (und das sind saisonal reichlich) darf ich nicht vergessen, die zweimal hochzuladen. Fehleranfällig.

      Du musst solchen Verwechslungen unbedingt vorbeugen,

      Okay, das Entweder- Oder- Prinzip ist doch nicht so schlecht.

      in dem man die IP des sich anmeldenden bzw. abmeldenden überträgt.

      Das, was von Programm zu Programm übertragen wird, ist Sache der Programme, da müsste ich also alle anfassen. Ausserdem: Senden die Rechner hinter demselben Router verschiedene IPs ins Netz?

      es sei denn Du versiehst (so wie einst oder jetzt noch SuSE den root-account im KDE) gleich mit einem rotem Hintergrund um Gefahr zu signalisieren.

      Knallgelben Hinweis haben wir schon, wenn auf dem Esatz-Server (Datensicherung online) gearbeitet wird.

      Linuchs

      1. Moin!

        Moin Jörg,

        Dann lege das Echt- und das Schulungssystem auf verschiedene Server

        Keine gute Idee, weil dann ja auch die Programme doppelt sein müssten. Bei jeder Programmänderung (und das sind saisonal reichlich) darf ich nicht vergessen, die zweimal hochzuladen. Fehleranfällig.

        Kann man scripten … im Zweifelsfall auch (z.B. via NFS, sshfs, ...) die gleiche Ressource auf mehreren Rechnern mounten.

        Ausserdem: Senden die Rechner hinter demselben Router verschiedene IPs ins Netz?

        Nicht immer. Wenn der Router auch eine Firewall (NAT ist eine Firewall-Funktion) ist und sich dahinter dann Rechner in einem privaten Netzwerk befinden, dann nicht. Freilich kann man auch erzwingen, dass die Benutzer einen Proxy in ihrem Netz nutzen, der dannX-Forwarded-For sendet. Hilft aber auch nur, wenn es ein identisches privates Netz nicht dreimal gibt ...

        Macht aber nichts, weil Du die IP nicht brauchst, wenn jeder Benutzer sein eigenes Login hat. Sperre die Schreibrechte auf dem "Echtsystem" nicht für die IP, sondern für den Benutzer.

        Jörg Reinholz

  2. Hallo,

    für ein Projekt habe ich ein Schulungssystem eingerichtet. Das heißt, eine Datenbank angelegt. Daten werden dorthin vom Echtsystem kopiert und können "verwurstelt" werden.

    Auf dem Start-Bildschirm gibt es zwei Formulare. Man kann sich am Echt- oder Schulungssystem anmelden.

    Genau Hier bei der Anmeldung: Setze ein Konfig- Attribut DB-Name. So kannst Du das manipulationssicher sauber trennen.

  3. Wie könnte ich es besser machen?

    Ich würde zwei verschiedene IP Adressen vergeben pro System eine. Dann können die die User in einem Tab im Echtsystem und in einem anderen Tab im Schulungssystem arbeiten.