не воспроизводится Апостроф в названии форума

ExPlayer

Пользователь
#1
Доброго времени суток! Если создавать название форума через админку с апострофом (для тех кто не знает как он выглядит -> ' )
scr1.PNG

, то появляется сообщение об ошибке:
scr2.PNG
Ссылается на эту строчку:
scr3.PNG

В логах MySQL следующее:

#001064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'n'Roll', 4, '', 15, 0, 0, 152, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1)' at line 1

INSERT INTO bb_forums ( forum_name, cat_id, forum_desc, forum_order, forum_status, prune_days, forum_parent, show_on_index, forum_display_sort, forum_display_order, tt_view, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_sticky, auth_announce, auth_vote, auth_pollcreate, auth_attachments, auth_download) VALUES ('Rock'n'Roll', 4, '', 15, 0, 0, 152, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1)

Source : admin/admin_forums.php(244) :: db1.freetor
IP : XXX.XXX.XXX.XXX
Date : 2017-02-20 12:42:28
Agent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
Req_URI : /admin/admin_forums.php
Referer :

Please Login or Register to view hidden text.


Method : POST
PID : 27689
Request : Array
(
[mode] => createforum
[f] =>
[forumname] => Rock'n'Roll
[forumdesc] =>
[forum_parent] => 152
[c] => 4
[show_on_index] => 1
[forumstatus] => 0
[allow_reg_tracker] => 1
[self_moderated] => 0
[allow_porno_topic] => 0
[forum_tpl_select] => 0
[prune_days] => 0
[forum_display_sort] => 0
[forum_display_order] => 0
[tt_view] => 0
[submit] => Создать новый форум
)______________________________________________________________________________


Версия движка 2.1.4 (возможно, что в новой версии этой ошибки уже нет).
 
Последнее редактирование:

Protektor

Пользователь
#4
Я их специально по выпиливал из seo мода , так как если на странице с апостофом нажать "поделиться вконтакте" то ссылка не передается из за него. Ну не любит контакт опострофы )))
 

JDVU

Разработчик
#5
попроще
$forum_name = (string) $_POST['forumname'];
меняем на
$forum_name = (string) htmlspecialchars($_POST['forumname']);
 
Сверху