Beitragserstellung bei vorhandenem Thema verweigern? - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html) +--- Thema: Beitragserstellung bei vorhandenem Thema verweigern? (/thread-16283.html) |
RE: Beitragserstellung bei vorhandenem Thema verweigern? - GreenDragon - 03.08.2012 Vorab hier noch mal der Link zu Beitrag#5 um zu wissen um welche Änderung es ging: https://www.mybb.de/forum/thread-16283-post-117180.html#pid117180 Ich hab jetzt doch noch ein Problem festgestellt. Wenn ein Apostroph (Das von der Raute-Taste -> ' ) im Betreff ist, dann kommt eine Fehlermeldung bei Themenerstellung. Ich habe das zuerst so gefixt: inc/datahandlers/post.php In dieser Zeile: PHP-Code: $subject = &$thread['subject']; PHP-Code: $subject = mysql_real_escape_string(&$thread['subject']); Die Themenerstellung klappte dann wieder. Aber nur solange bis man wirklich einen Betreff eingegeben hat, den es schon gibt. Also erst dann wenn die eigentliche Funktion eigentlich greifen soll. Und so sah das dann aus: http://img86.xooimage.com/files/3/9/7/mwsnap08-03--2012-01_49_07-36d5fdc.jpg Und das hier ist die Zeile in der newthread.php: PHP-Code: $proof_for_double_subject = $posthandler->verify_proof_for_double_subject(); Und jetzt weiss ich nicht weiter. Help please RE: Beitragserstellung bei vorhandenem Thema verweigern? - StefanT - 03.08.2012 $db->escape_string() und nicht mysql_real_escape_string() RE: Beitragserstellung bei vorhandenem Thema verweigern? - GreenDragon - 03.08.2012 Vielen Dank StefanT, funzt Hätte ich mal vorher nach "escape" in der php gesucht, hätte ich auch andere Zeilen mit dem richtigen Code entdeckt. Naja, man lernt eben dazu ^^ RE: Beitragserstellung bei vorhandenem Thema verweigern? - GreenDragon - 06.08.2012 Ich war wohl etwas zu voreilig. Ich hatte nur im Preview-Modus kontrolliert, ob noch eine Fehlermeldung kommt. Leider musste ich jetzt feststellen dass durch die Modifikation, wenn ein Apostroph im Titel ist, vor diesem Apostroph ein Backslash nach dem posten im Titel ist. Wie kann ich das jetzt wiederum verhindern? RE: Beitragserstellung bei vorhandenem Thema verweigern? - StefanT - 06.08.2012 Dann escapst du an der falschen Stelle. RE: Beitragserstellung bei vorhandenem Thema verweigern? - GreenDragon - 06.08.2012 OK, aber welche Stelle wäre dann die richtige? Die Modifikation ist hier in Beitrag#5 -> https://www.mybb.de/forum/thread-16283-post-117180.html#pid117180 RE: Beitragserstellung bei vorhandenem Thema verweigern? - StefanT - 06.08.2012 Das ist mit der Referenz etwas kniffelig. Ich habe mir mal erlaubt diese Sicherheitslücke im Beitrag oben zu beheben. RE: Beitragserstellung bei vorhandenem Thema verweigern? - GreenDragon - 06.08.2012 Soweit habe ich jetzt die Änderung übernommen. Ja, das scheint alles etwas knifflig. Würde mich freuen wenn noch jemand eine Idee dazu hat. RE: Beitragserstellung bei vorhandenem Thema verweigern? - StefanT - 06.08.2012 Funktioniert meine Änderung in Beitrag #5 nicht? RE: Beitragserstellung bei vorhandenem Thema verweigern? - GreenDragon - 06.08.2012 Wenn die Änderung nur auf diese Zeile bezogen war, dann nein: PHP-Code: $no_double_subject_query = $db->query("SELECT subject FROM ".TABLE_PREFIX."threads WHERE subject='".$db->escape_string($subject)."' LIMIT 0,1"); Hab nur diese Zeile geändert, aber immer noch SQL Error 1064 wenn ein Apostroph im Titel ist. |