Contao-Camp 2024
Ergebnis 1 bis 5 von 5

Thema: Auto-Logout Backend mit Loadbalancer [gelöst]

  1. #1
    Contao-Nutzer
    Registriert seit
    08.04.2011.
    Beiträge
    47

    HTML Auto-Logout Backend mit Loadbalancer [gelöst]

    Hallo zusammen,

    falls es jemandem genauso gehen sollte wie mir ... der die Doku von Contao durchsucht hat und überall den Hinweis fand: "Bei wechselnder IP-Adresse, z. B. bei der Verwendung eines Loadbalancers oder durch den automatischen Wechsel zwischen IPv4 und IPv6, kann man den IP-Check in den Einstellungen deaktivieren", damit aber nichts anfangen konnte, weil es diese Option in Contao 4.4 offensichtlich nicht gibt (oder ich die Checkbox übersehen habe?), hier eine Lösung:

    Den Haken bei "Anfrage-Tokens deaktivieren" bringt nichts. Dahinter verbirgt sich disableRefererCheck. Wir suchen aber nach disableIpCheck.

    Das verrät uns diese Codestelle:

    Code:
    		$arrMap = array
    		(
    			'dbHost'           => 'database_host',
    […]
    			'disableIpCheck'   => 'contao.security.disable_ip_check',
    		);
    
    		foreach ($arrMap as $strKey=>$strParam)
    		{
    			if ($container->hasParameter($strParam))
    			{
    				$GLOBALS['TL_CONFIG'][$strKey] = $container->getParameter($strParam);
    			}
    		}
    zusammen mit dieser:

    Code:
    	public static function getSessionHash($strCookie)
    	{
    		$container = static::getContainer();
    		$strHash = $container->get('session')->getId();
    
    		if (!$container->getParameter('contao.security.disable_ip_check'))
    		{
    			$strHash .= \Environment::get('ip');
    		}
    
    		$strHash .= $strCookie;
    
    		return sha1($strHash);
    	}
    Also einfach in der app/config/parameters.yml eine entsprechende Zeile hinzufügen, den Symfony Cache leeren var/cache/prod, und der Backend-User bleibt für die gesamte Session eingeloggt.

    Code:
    # This file has been auto-generated during installation
    parameters:
        database_host: ***
        database_port: 3306
        database_user: ***
        database_password: ***
        database_name: ***
        secret: ***
        contao.security.disable_ip_check: true
    (Achtung: Keinen Tabulator am Anfang der Zeile verwenden! Es müssen genauso viele Leerzeichen sein wie in den Zeilen darüber.)

    Wer weiß, wo das in der offiziellen Contao Doku steht, darf gerne einen Link hinterlassen!

    Viele Grüße

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Demächst hier, wenn du dein Wissen als PR zur Verfügung stellst

    https://github.com/contao/docs/edit/...settings.de.md

  3. #3
    Contao-Fan Avatar von designpilot
    Registriert seit
    16.06.2013.
    Ort
    9532 Rickenbach bei Wil
    Beiträge
    272
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hi kann ein Disconnect (Abmeldung vom BE) und der daraus resultierende ungültige Anfrage Token was damit zu tun haben.

    Weil Hostpoint AG setzt auch wie alle anderen Loadbalancer ein.

    Kann deine Variante der Lösung mir auch weiterhelfen ????

    Weil alle verwendeten Module/Erweiterungen sind auf dem aktuellen Stand.

    Grüsse
    Didier


    Gesendet von iPhone mit Tapatalk Pro

  4. #4
    Contao-Nutzer
    Registriert seit
    08.04.2011.
    Beiträge
    47

    Standard

    @designpilot: Loadbalancer kann es auf beiden Seiten geben!

    Wenn der Hostinganbieter einen Loadbalancer verwendet, Contao also auf mehreren Servern parallel installiert ist, dann muss die Sessionverwaltung zentral sein oder der Loadbalancer so konfiguriert sein, dass eine einmal eröffnete Session immer auf demselben Server landet. So etwas hat man normalerweise nur bei Systemen mit hoher Last, was vermutlich die wenigsten Contao-Webseiten betrifft.

    Wenn dein Internetanschluss über einen Loadbalancer läuft (das dürfte bei den wenigsten privaten Anschlüssen der Fall sein; es kommt eher bei größeren Unternehmen vor), dann wechselt deine IP-Adresse, mit der du im Internet verkehrst, u. U. bei jedem Request. Sie wechselt nicht, wenn im Loadbalancer Client-Binding aktiviert ist, wodurch eine Session immer über die IP läuft, mit der sie begonnen wurde. Wechselt die IP, dann hilft die Anleitung aus dem 1. Post.

    Wenn ich es richtig verstanden habe, dann wird in jedem Formular ein eindeutiges RequestToken eingefügt, so dass nur Formulare verarbeitet werden, die auch vom System generiert wurden, um Angriffe von außen abzuwehren. Diese Funktion kannst du mit dem Setzen des Häkchens bei "Anfrage-Tokens deaktivieren" ausschalten. Ich habe mir die Implementierung noch nicht angesehen. Daher kann ich nicht sagen, ob es dein Problem lösen kann.

  5. #5
    Contao-Fan Avatar von designpilot
    Registriert seit
    16.06.2013.
    Ort
    9532 Rickenbach bei Wil
    Beiträge
    272
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Es wird ja abgeraten „Anfrage-Tokens deaktivieren“ zu setzen (nicht empfohlen)

    Ich weiss echt nicht was ich machen soll


    Gesendet von iPhone mit Tapatalk Pro

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •