Sicherheits-Meldung für bestimme Aufrufe deaktivieren

Vorgeschichte

Ich hatte vor einigen Jahren ein Modul für Contao 2.x.x geschrieben, welches ein Buchungsformular für angemeldete Mitglieder bereitstellt. Wenn jemand etwas über dieses Formular gebucht hat, wurde der zugewiesene Redakteur durch eine E-Mail benachrichtigt. In dieser E-Mail war auch gleich ein Bearbeiten-Link für das Contao-Backend und den jeweiligen Datensatz. Ab der Contao-Version 3.x wurde direkt in der DC_Table.php abgefangen ob die URL einen gültigen Request-Token (rt-Get-Paramter) enthält. Wenn nicht, wird ein compare-Dialog angezeigt. Das hat meinen Kunden nach dem Umstieg auf die Contao 3.5.x Version sehr verunsichert (STOP-Symbol und extra-klick).

meine Lösung

Ich nutze nun den parseTemplate-Hook der vor der eigentlichen Verarbeitung des Templates (Frontend und Backend) aufgerufen wird und die Template-Object-Paramter mitbekommt. Wenn nun bestimmte Paramter übereinstimmen wird jetzt die Url per redirect aufgerufen, die man sonst in dem confirm-Dialog durch anklicken des Links auch bestätigt.

hier der Code auf Pastebin: https://pastebin.com/xYQ56PPx

// config.php
$GLOBALS['TL_HOOKS']['parseTemplate'][] = array('MyClass', 'redirectBBKDeeplink');

// MyClass.php
public function redirectBBKDeeplink($objTemplate)
{
if ($objTemplate->getName() == 'be_confirm' && $objTemplate->info['table'] == 'tl_bbk_booking' && !$objTemplate->info['rt'])
{
$this->redirect($objTemplate->href);
}
}

Zurück


Kommentare

digital instinct

Vielen Dank für das Aufbereiten und Veröffentlichen,
darin haben wir weitere Infos und einen guten Denkanstoß gefunden.


hinterlasse ein Kommentar