news2forum und html-Tags [Gelöst]

  • lygie lygie
    T3PO
    0 x
    21 Beiträge
    0 Hilfreiche Beiträge
    01. 10. 2008, 11:38

    Hallo Zusammen,

    ich nutze die Erweiterung news2forum und News aus der tt_news direkt in das mm_forum zu bringen.

    Leider habe ich jetzt ein Problem.
    In der Tabelle post_text in die news2forum die Daten rein schreibt sieht alles noch gut aus. (inklusive html-Tags)

    Sobald die Daten jedoch vom Forum verarbeitet werden, sind alle html Tags durch html Sonderzeichen ersetzt und werden im Frontend auch so angezeigt. Aus einem <li> wird im Frontend dann also &lt;li&gt;

    Kennt jemand eine Möglichkeit dem mm_forum abzugewöhnen html Zeichen zu verarbeiten?

    Liebe Grüße,


  • 1
  • m.helmich m.helmich
    Jedi-Meister
    0 x
    416 Beiträge
    0 Hilfreiche Beiträge
    02. 10. 2008, 12:53

    [quote="lygie"]
    Kennt jemand eine Möglichkeit dem mm_forum abzugewöhnen html Zeichen zu verarbeiten?
    [/quote]

    Nicht standardmäßig. Ist aber auch gut so, da alles andere grob fahrlässig wäre. Wenn es unbedingt sein muss, kannst du in der Datei includes/class.tx_mmforum_validator.php hinter der Zeile

    function specialChars($text) {

    einfach folgendes einfügen:

    return $text;

    Dir sollte nur unbedingt klar sein, dass du damit eine gewaltige Sicherheitslücke auf deiner Seite öffnest (Stichwort XSS). Aus diesem Grund kann ich dir nur ausdrücklich[/u] von dieser Methode abraten, solange du nicht [u]absolutes Vertrauen in deine Forenbenutzer hast.
    Als Alternative würde sich anbieten, plugin.tx_mmforum_pi1.validatorSettings.stripTags auf 1 zu setzen. Damit werden alle HTML-Tags rücksichtslos entfernt, was der Darstellung vielleicht zuträglicher sein könnte.

    Martin

  • lygie lygie
    T3PO
    0 x
    21 Beiträge
    0 Hilfreiche Beiträge
    02. 10. 2008, 16:45

    Vielen dank für die Hilfe.

    Ich habe eine Lösung gefunden die mit weniger Risiko verbunden ist.

    Dazu habe ich die news2forum Extension etwas angepasst.

    Zuerst muss das Array für die Funktion, welche die Daten in das Forum schreibt etwas erweitert werden:

    1. // Generate post text record
    2. $insertArrayPostText = array(
    3. 'pid' => $pid,
    4. 'tstamp' => time(),
    5. 'cache_tstamp' => time(),
    6. 'crdate' => time(),
    7. 'post_id' => $post_uid,
    8. 'post_text' => $text,
    9. 'cache_text' => $text
    10. );

    Neu sind die Zeilen für ache_text, und cache_tstamp.

    Nun wird der Text aus der tt_news direkt in cache_text geschrieben und die Funktionen von der mm_news fassen den Text nicht mehr an. Da es ja keine Usereingaben sind, sehe keine allzu große Gefahr.

    Das Problem ist nun, dass der Text aus der tt_news noch leicht überarbeitet werden muss um im Forum vernünftig angezeigt zu werden.
    Sonst werden links als
    <link></link> statt als html
    [HTML]<a href=""></a>[/HTML]
    ausgegeben.

    Um das zu verhindern hilft eine eingebaute Typo3 Funktion:

    1. obj = t3lib_div::makeInstance('t3lib_parsehtml_proc');
    2. $text = $obj->TS_links_rte($text);

    parst links bevor der Text in die Datenbank geschrieben wird.

    Mein Problem konnte ich damit bisher lösen. Ich hoffe es hilft auch anderen.

    Liebe Grüße

    [/quote]

  • 1