LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 17:03:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Htmlsprcialchars в com_content  (Прочитано 503 раз)
0 Пользователей и 1 Гость смотрят эту тему.
maeln0r
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« : 08.01.2012, 18:59:33 »

День добрый добавил в /administrator/components/com_content/admin.content.html.php дополнительное поле, везде где надо прописал параметры, все работает. Кроме одного. При добавлении в БД режутся все HTML форматирование, как про htmlspecialchars. На каком моменте я так и не понял, может быть кто знает? Заранее спасибо за ответ)
Записан
karabert
Давно я тут
****

Репутация: +18/-0
Offline Offline

Сообщений: 307



« Ответ #1 : 08.01.2012, 19:07:44 »

The FILTER MASK Parameter

Finally, there are some mask constants you can pass in as the fifth parameter that allow you to bypass portions of the filtering:

Цитировать
$address = JRequest::getVar('address', 'default value goes here', 'post','validation type',mask type);

    JREQUEST_NOTRIM - prevents trimming of whitespace
    JREQUEST_ALLOWRAW - bypasses filtering
    JREQUEST_ALLOWHTML - allows most HTML. If this is not passed in, HTML is stripped out by default.

Note. These are static variables not strings. Do not use quotes around them

(c) http://docs.joomla.org/Retrieving_data_from_GET_and_POST_requests
Записан
maeln0r
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #2 : 08.01.2012, 19:24:35 »

В том то и дело не найду где передается все это, что бы фильтр применить(( глаза уже убил(
Записан
karabert
Давно я тут
****

Репутация: +18/-0
Offline Offline

Сообщений: 307



« Ответ #3 : 08.01.2012, 19:29:33 »

В том то и дело не найду где передается все это, что бы фильтр применить(( глаза уже убил(

Когда скрипт получает Post, get, session (нужное подчеркнуть) данные

Если написать просто JRequest::getVar('address'); , то функция профильтрует (в выше приведенном тексте написано об этом: HTML is stripped out by default.)

Чтобы HTML остался нужно пятым параметром скормить функции константу JREQUEST_ALLOWHTML


пример: JRequest::getVar('address',NULL,NULL,NULL,JREQUEST_ALLOWHTML);
« Последнее редактирование: 08.01.2012, 19:33:43 от karabert » Записан
maeln0r
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #4 : 08.01.2012, 19:41:51 »

Собственно проблему решил, спасибо)
Записан
maeln0r
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #5 : 08.01.2012, 19:54:30 »

Если кому то интересно.
/public_html/administrator/components/com_content/helper.php
$youarg= JRequest::getVar( 'youarg', '', 'post', 'string', JREQUEST_ALLOWRAW );
                $row->youarg= $youarg;
Записан
karabert
Давно я тут
****

Репутация: +18/-0
Offline Offline

Сообщений: 307



« Ответ #6 : 08.01.2012, 20:00:17 »

Если кому то интересно.
/public_html/administrator/components/com_content/helper.php
$youarg= JRequest::getVar( 'youarg', '', 'post', 'string', JREQUEST_ALLOWRAW );
                $row->youarg= $youarg;

Такое изменение небезопасно! Скорее всего можно сделать sql иньекцию.

И зачем $youarg= JRequest::getVar( 'youarg', '', 'post', 'string', JREQUEST_ALLOWRAW );
                $row->youarg= $youarg;
если можно не создавая переменной сразу присвовить?

 $row->youarg = JRequest::getVar( 'youarg', NULL, 'post', 'string', JREQUEST_ALLOWRAW );

Вместо '' ставьте NULL. Так читабельнее.
Записан
klubnichkaaa
Давно я тут
****

Репутация: +9/-2
Offline Offline

Пол: Мужской
Сообщений: 304



« Ответ #7 : 07.03.2012, 13:50:25 »

karabert

Цитировать
Чтобы HTML остался нужно пятым параметром скормить функции константу JREQUEST_ALLOWHTML

Как понять пятым я уже что то забыл, у меня такой пример есть и он работает. Но для части сайта такое не прокатило пока не сделал как вы написали!
Записан
karabert
Давно я тут
****

Репутация: +18/-0
Offline Offline

Сообщений: 307



« Ответ #8 : 07.03.2012, 17:21:46 »

karabert

Как понять пятым я уже что то забыл, у меня такой пример есть и он работает. Но для части сайта такое не прокатило пока не сделал как вы написали!

 JRequest::getVar('address' /* первый параметр */,NULL /* второй параметр */,NULL  /* третий параметр */,NULL  /* четвертый параметр */, JREQUEST_ALLOWHTML /* пятый параметр */);
Записан
klubnichkaaa
Давно я тут
****

Репутация: +9/-2
Offline Offline

Пол: Мужской
Сообщений: 304



« Ответ #9 : 09.03.2012, 19:28:20 »

Но прикол в том что с 1 параметром у меня не работало, а как 5 поставил заработало вот что меня удивило =)
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet