Das "Problem"

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:angel: :aha: :bad: :.( :devil: ^^ *g* :hä: :hurt: :idea: :???: lol :oh: :party: :roll: :( :gr: :) :lalala: :cool: :ups: :D oO ;) :zzz: *ff* :hehe: :P
Mehr Smilies anzeigen

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Das "Problem"

Beitrag von Magan » So 27 Aug, 2006 12:37

na nun stimmt ja alles ich vermute mal das in dem PHP oben diese doppelte stelle nicht drin ist die du meinst, aber och glaub ich hab verstanden wie du es gemeint hast. :mag:

Beitrag von Silverdrak » So 27 Aug, 2006 12:10

Hab ein Edit geschrieben. ^^'
Mich tröstet aber das ich nicht die einzige mit dem Problem war.
Wird das nächste mal auf merksamer auf dopplungen schauen.

Beitrag von Cyber Zipclaw » So 27 Aug, 2006 11:58

Hm... Tia, das würde nicht viel bringen. Dann würde die Funktion &quot mit &quot austauschen - also Ergebnis gleich Null.

Ich kann mir nur vorstellen, daß da irgendwo ein Stripslashes fehlt.

Beitrag von Tiamat » So 27 Aug, 2006 11:55

ich kenn mich mit sowas nicht sonderlich gut aus... Aber ich würd da glaub ich einfach fuschen und
$message = str_replace('"', '\"', $message); in
$message = str_replace('"', '"', $message); umwandeln ;P

Das "Problem"

Beitrag von Silverdrak » So 27 Aug, 2006 11:29

Also das Problem mit den Hochstrichen scheint wirklich erst durch das letzte Update gekommen zu sein.

Ich denke das ich die betreffende Stelle gefunden habe, wo das \ davor kommt.
Das wäre diese Stelle (Für Leute mit php-Kenntnissen):
[php]includes/functions_post.php

#
#-----[ FIND ]---------------------------------------------
# Line 59
$message .= htmlspecialchars($part) . clean_html($tag);
}

$message = addslashes($message);

#
#-----[ REPLACE WITH ]---------------------------------------------
#
$message .= preg_replace($html_entities_match, $html_entities_replace, $part) . clean_html($tag);
}

$message = addslashes($message);
$message = str_replace('"', '\"', $message);[/php]

In der Letzten Zeile wird Hochstrich zu \Hochstrich umgewandelt.

Ich suche jetzt mal noch die Stelle wo das eigentlich wieder zurück gesetzt werden müsste.

EDIT: Es hatte in der Tat mit der letzten Zeile zu tun sie war doppelt. Hab ich beim Update nicht gesehen das die letzte Zeile schon da war.
Dadruch wurden dann ich nenns mal intern 2 / vor die " gesetzt, bei zurücksetzten wurde dann natürlich nur eins weg genommen und so wurde eben /" angezeigt. ^^
Warum überhaupt / vor " Zeichen gesetzt werden, hat damit zu tun, das php (also die Script-Sprache in der das Forum geschrieben ist) ebenfalls " verwendet, um zu markieren wo ein string also ein Text anfängt und endet. Damit das php weis wann die " als Textende oder -anfang gemeint sind und wann nicht, werden mit dem / die " markiert die wirklich Zeichen in einem Text sind. Das wird auch bei einigen anderen Zeichen somarkiert.
Ich hoffe ich hab das so richtig erklärt. ^^

Nach oben