Typo3 Version 6.2. LTS
Moin,
ich schreibe gerade an einer Erweiterung für und verzweifle etwas an der ab 6.2 geänderten mod.php, die CSRF-Token erzwingt ("if(!formprotection.....)". Weiß jemand wie ich folgenden, in Typo3 <= 4.7 funktionierenden, Link korrekt in 6.2 erzeuge?
$links .= '<a class="showLink" href="mod.php?M=web_txideaM1&listpage='.$this->listPage.'&show='.$row['uid'].'">'.$pen_com_num.'</a>';
Wenn ich den Link wie oben setze wird in der mod.php der nicht vorhandene CSRF Token überprüft und eine http://wiki.typo3.org/Exception/CMS/1392409507 geschmissen.
Momentan habe ich, Asche über mein Haupt, einfach die entsprechende Prüfung in der mod.php deaktivert aber das will ich ungern so abgeben 😛
Besten Dank für sachdienliche Hinweise!
Da es keine Hinweise gab, aber ich die Lösung mittlerweile erarbeitet habe (wie schlecht ist das denn bitte dokumentiert, ich musste mir den benötigten Code aus Dev-Stories heraussuchen?) dokumentiere ich das hier mal.
Lösung
4.7 Code - Direkter Call von mod.phh - Löst in 6.2 eine Cross Site Scripting Protection Exception aus
$linkToMother = '<a href="mod.php?M=web_txideaM1&listpage'.$this->listPage.'&show='.$rowMother['uid'].'">'.$rowMother['title'].'</a>';
6.2 Code - Macht was der Einzeiler aus 4.7 tut, nur mit Cross Site Scripting Protection Token
$urlParameters = array(
'listpage' => $this->listPage,
'show' => $rowMother['uid']
);
$aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_txideaM1', $urlParameters);
$linkToMother = '<a href="'. htmlspecialchars($aHref) .'">'.$rowMother['title'].'</a>';
Du bist lustig - in dem von dir verlinkten wiki-Artikel steht doch die Lösung?
Bei mir wars auch eine andere Lösung. Ich habe die Links dann so an das php herankonkateniert:
<form action="' . \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_txtxekatoversandkostenM1', array('target' => '', 'SET[function]' => $this->MOD_SETTINGS['function'], 'id' => $this->id, 'returnUrl=' => htmlspecialchars($this->returnUrl), 'name' => 'editform')) . '" method="post" name="asd">