Smartbroker: Automatischen Logout verhindern

Achtung! Dieser Artikel ist älter als ein Jahr. Der Inhalt ist möglicherweise nicht mehr aktuell!

Wer selbst Smartbroker Kunde ist kennt das: Fünf Minuten keine Aktivität im Depot und schon wird man automatisch ausgeloggt. Selbiges passiert auch bei Onlinebanking. Schuld daran ist die PSD2 Richtlinie.

Um das zu verhindern kann man folgenden Code in die Konsole packen:

function pressShiftButton() {
    const event = new KeyboardEvent('keydown', {
        view: window,
        bubbles: true,
        cancelable: true,
        key: "Shift"
    });

    if (document.body.dispatchEvent(event)) {
        console.log('keypress successfull')
    } else {
        console.log('keypress not successfull')
    }
}

pressShiftButtonID = setInterval(pressShiftButton, 1000 * 60)

Jede Minute wird nun ein Keydown Event für Shift abgesetzt. Dieses wird von einem Timer auf der Seite empfangen und der 5 Minuten Timer wird zurückgesetzt. Auch wenn der Tab im Hintergrund ist.
Um das zu stoppen kann man einfach den Timer stoppen mit

clearInverval(pressShiftButtonID)

Das Script ist nicht permanent. Sobald die Seite neu lädt (zum Beispiel wenn man durch’s Menü klickt) ist es weg und man muss es neu eingeben. Ich such noch nach einer Möglichkeit das zu automatisieren. Ich denke mit dem Greasemonkey Addon sollte das problemlos klappen. Hab ich allerdings noch nicht ausprobiert.
Für mein Sparkassen Onlinebanking funktioniert das Script ebenfalls.

Update 16.01.2021

Anstelle von Greasemonkey habe ich Code Injector von Saba (🖇️ 🔐) gefunden (GitHub Projekt (🖇️ 🔐) ). Läuft im Firefox einwandfrei.

Nach der Installation wird man direkt aufgefordert eine Regel anzulegen. Als Host einfach b2b.dab-bank.de eintragen und dann den Code von oben kopieren. Zum testen wann das Java Script injected wird hab ich noch ein extra console.log hinzugefügt.

Das Ergebnis schaut vielversprechend aus:

Bisher 6 Stunden eingeloggt ohne Probleme auch wenn der Tab nicht im Fokus war. Auch der clearInterval(pressShiftButtonID) Befehl klappt noch einwandfrei. Super Sache!


Du hast einen Kommentar, einen Wunsch oder eine Verbesserung? Schreib mir doch eine E-Mail! Die Infos dazu stehen hier.

🖇️ = Link zu anderer Webseite
🔐 = Webseite nutzt HTTPS (verschlüsselter Transportweg)
Zurück