IPB

Здравствуйте, Гость ( Вход | Регистрация )

 
Ответить в этой темеОткрыть новую тему
> Некорректный вывод комментария
Eten
сообщение Feb 5 2011, 04:33 PM
Сообщение #1


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



Я в точности не знаю из-за чего этого, поэтому и решил об этом спросить. В общем народ на моем сайте вводит комментарии к постам и изредка да появляются комменты следующего вида, вот на этой странице

Это вообще, как-нибудь лечится?
К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение Feb 5 2011, 11:22 PM
Сообщение #2


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



В языковом файле смените кодировку с iso-8859-1 на windows-1251


--------------------
К началу страницы
 
+Цитировать Сообщение
Eten
сообщение Feb 6 2011, 04:52 AM
Сообщение #3


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



ЦИТАТА(Suvoroff @ Feb 6 2011, 12:22 AM) [snapback]3463[/snapback]
В языковом файле смените кодировку с iso-8859-1 на windows-1251

Не знаю понял я или нет, но кодировка в russian.php у меня прописана, как надо, т.е.:
КОД
// charset to use
define('_CHARSET',                    'Windows-1251');


Если я вас прваильно, вы наверное имели ввиду именно этот файл. Или может быть другой?

На странице по ссылке в первом посте, я попробовал ввести проверочный комментарий с повторением предыдущего. Результат все такой же.
К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение Feb 6 2011, 11:50 AM
Сообщение #4


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



В исходном коде я у вас вижу:

ЦИТАТА
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


Измените iso-8859-1 на windows-1251

Редактировать файл head.php вашего стиля


--------------------
К началу страницы
 
+Цитировать Сообщение
Eten
сообщение Feb 6 2011, 03:20 PM
Сообщение #5


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



ЦИТАТА(Suvoroff @ Feb 6 2011, 12:50 PM) [snapback]3465[/snapback]
В исходном коде я у вас вижу:
Измените iso-8859-1 на windows-1251

Редактировать файл head.php вашего стиля

Сделал, как вы сказали, но повторный ввод коммента, оставил результат вывода таким же.

Да, к странности я нашел, что данный текст в комменте является Escape-последовательностью в HTML. На форумах с движком PunBB в момент создания поста уже при предварительном просмотре, текст исправляется (не знаю чем именно, сам браузер или движок).

И у меня вот вопрос возник тогда, у нас это каким плагином лечится или это недоработка разработчиков?!
К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение Feb 6 2011, 06:08 PM
Сообщение #6


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



Какой комментарий вы добавляете?

Я попробовал добавить то, что у вас зашифровано - все нормально добавлиось

"да, что-то на подобии этого"


--------------------
К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение Feb 6 2011, 06:15 PM
Сообщение #7


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



ЦИТАТА
И у меня вот вопрос возник тогда, у нас это каким плагином лечится или это недоработка разработчиков?!


Если честно, первый раз сталкиваюсь с таким

Попробовал на паре своих сайтах код добавлять - тоже закодированным добавляется, но у меня такой проблемы никогда не возникало у пользователей. Даже сложно предположить в чем проблема у вас.


--------------------
К началу страницы
 
+Цитировать Сообщение
Eten
сообщение Feb 7 2011, 06:08 AM
Сообщение #8


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



ЦИТАТА(Suvoroff @ Feb 6 2011, 07:08 PM) [snapback]3467[/snapback]
Какой комментарий вы добавляете?

Я попробовал добавить то, что у вас зашифровано - все нормально добавлиось

"да, что-то на подобии этого"

А можете описать, как вы это сделали, где и на каком браузере. И что для этого использовали.

Просто опишите все это, чтобы я смог с ориентироваться с поиском проблемы. Раз у вас получилось. Т.к. у меня тоже большинство пользователей не вводят подобное, но как видите, появляются такие (почему не знаю, может вне СНГ проживают, ну где нет возможности русский использовать).
К началу страницы
 
+Цитировать Сообщение
Eten
сообщение Feb 7 2011, 06:12 AM
Сообщение #9


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



ЦИТАТА(Suvoroff @ Feb 6 2011, 07:15 PM) [snapback]3468[/snapback]
Если честно, первый раз сталкиваюсь с таким

Попробовал на паре своих сайтах код добавлять - тоже закодированным добавляется, но у меня такой проблемы никогда не возникало у пользователей. Даже сложно предположить в чем проблема у вас.

Если честно, у меня такое изредка бывало, думал может кто вручную ввел, сам исправлял, через формы превьюв на других дружественных ресурсах моей тематики.

За вчерашний день, нигде на сайтах по нашему движку не нашел ни единого упоминания о данной проблеме и поэтому стал сколняться к написанию маленького плагина, который возможно смог бы переконвертировать эти escape- последовательности в нормальные символы перед подачей введенного коммента дальше на обработку. Насколько помнится, такое можно сделать. Но прошу сперва вас ответить на мой предыдущий пост.
К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение Feb 7 2011, 08:03 AM
Сообщение #10


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



ЦИТАТА
Но прошу сперва вас ответить на мой предыдущий пост.


Если вы про

ЦИТАТА
И у меня вот вопрос возник тогда, у нас это каким плагином лечится или это недоработка разработчиков?!


То плагина такого не видел, насчет недоработки не уверен. Возможно дело в браузере\ОС\кодировках, еще чем-нибудь


--------------------
К началу страницы
 
+Цитировать Сообщение
Eten
сообщение Feb 7 2011, 08:11 AM
Сообщение #11


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



Вот тут специальный пост завел, чтобы проверять движок на обработку этих последовательностей.

Прошу теперь там проверять, пока проблема не решится.

Оказывается, движок при вводе комменатрия в escape-последовательности, заменяет знак "&" на его escape-последовательность, следующим образом:
КОД
&amp;#1072;
.

Если этой замены не происходит, то все идет нормально при отображении, т.к. хранится так как ввели при создании коммента.

Пойду искать, где и почему это делается в движке.
К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение Feb 7 2011, 08:33 AM
Сообщение #12


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



Подозреваю что надо копать в генерации ссылок, т.к. согласно спецификации символ & должен кодироваться как &amp; чтобы пройти валидатор html


--------------------
К началу страницы
 
+Цитировать Сообщение
Eten
сообщение Feb 7 2011, 08:39 AM
Сообщение #13


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



ЦИТАТА(Suvoroff @ Feb 7 2011, 09:33 AM) [snapback]3473[/snapback]
Подозреваю что надо копать в генерации ссылок, т.к. согласно спецификации символ & должен кодироваться как
КОД
&amp;
чтобы пройти валидатор html

Дело в том, что их такими (с
КОД
&amp;
) сохраняет в БД.

Поэтому щас буду в движке искать, где оно производится.
К началу страницы
 
+Цитировать Сообщение
Eten
сообщение Feb 7 2011, 09:33 AM
Сообщение #14


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



Проблема найдена. Так, напишу по порядку, чтобы было ясно тем, у кого тоже возникает.

Господа разработчики руководствуясь нуждой обезопасить сайт от опасных вводимых комбинаций, через escape-последовательности, просто взяли и стали использовать везде, где нужно, PHP функцию htmlspecialchars (что она делает см. по ссылке слева). Поэтому при вводе подобного содержания с escape-последовательностями, оптимальней и разумнее написать плагин, который будет преобразовывать те символы, что будут указаны в настройках допустимыми. Т.о. я не нарушаю и не изменяю код движка, саму безопасность, а также достигаю желаемого результата. А проверку на изменение escape-последовательностей (т.е. изменение &) при выводе из БД нет нужды, т.к. движок там уже не смотрит и ничего не трогает по этой теме.

Остается только вопрос, смогу ли я вызвать этот плагин до вызова записи коммента? Т.е. до обработки коммента самим движком.

З.Ы.
Полагаю сам себя исчерпал и мне придется создавать новую тему для такого плагина или можно продолжить здесь?
К началу страницы
 
+Цитировать Сообщение
Eten
сообщение Feb 7 2011, 09:44 AM
Сообщение #15


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



Вроде бы есть возможность с помощью функции плагина (смотря по документации) PreAddComment добавить перед записью коммента в БД, вставить свою обработку для смягчения замены амперсента.

З.Ы.
Т.к. решение вопроса переросло от поиска причины, которая уже найдена, к созданию плагина, то хочу спросить совета, как мне быть с темами. Т.е. каким образом у вас оставить информацию о решение этого вопроса путем плагина, чтобы и внятно было и как надо? wink.gif
К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение Feb 7 2011, 10:13 AM
Сообщение #16


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



Думаю логичнее всего будет создать тему с плагином здесь - http://www.nucleus.com.ru/forum/index.php?showforum=14
А в этой теме дать ссылку на новую тему.


--------------------
К началу страницы
 
+Цитировать Сообщение
Eten
сообщение Feb 7 2011, 01:23 PM
Сообщение #17


Member
**

Группа: User
Сообщений: 17
Регистрация:
5-February 11
Пользователь №: 1,994



Спасибо за дельный совет. Вот тема для плагина.
К началу страницы
 
+Цитировать Сообщение

Ответить в этой темеОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 15th September 2019 - 07:06 PM
Рецепты - Скачать программы - Scripts