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

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Вопрос безопасности - обработка RAW данных  (Прочитано 1018 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
bzzik
JComments Tester
*

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

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


Contra Gaming Community


« : 25.01.2011, 14:45:36 »

Добрый день уважаемые.

Хотелось бы уточнить у разработчиков расширений, каким образом они обрабатывают RAW input/output данные?

В силу специфики разрабатываемого расширения есть необходимость предоставить пользователю вводить данные, которые должны поступать на сервер и сохранятся в базе, и далее выводится именно в том виде, в каком они были введены. Я подозреваю, что тут недостаточно использования только quote() метода?

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

Спасибо за внимание  Roll Eyes
Записан
SmokerMan
Профи
********

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

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



« Ответ #1 : 25.01.2011, 14:59:56 »

Хотелось бы уточнить у разработчиков расширений, каким образом они обрабатывают RAW input/output данные?
никакими.
как сам их обработаешь так и будет. Хоть методами Joomla типа getInt(), getString() и т.п., хоть своими.
Записан
bzzik
JComments Tester
*

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

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


Contra Gaming Community


« Ответ #2 : 25.01.2011, 15:19:03 »

никакими.
как сам их обработаешь так и будет. Хоть методами Joomla типа getInt(), getString() и т.п., хоть своими.
Да не, мне нужны именно RAW данные. Предположим, что я их получаю вот так:
Код:
JRequest::getVar('mywar', '', 'post', 'string', JREQUEST_ALLOWRAW);

Пример:

Пользователь заполняет анкету и вводит предположим rawdata. Отправляет форму, а я получаю эту rawdata как JRequest::getVar('rawdata', '', 'post', 'string', JREQUEST_ALLOWRAW);
Далее мне эту rawdata неоходимо вывести в анкете в таком же виде, как она была введена пользователем.


Как правильно и безопасно сделать обработку и положить rawdata в базу, и потом вывести?
« Последнее редактирование: 25.01.2011, 15:23:11 от bzzik » Записан
SmokerMan
Профи
********

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

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



« Ответ #3 : 25.01.2011, 15:38:33 »

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

А так перед отправкой в БД их конечно ескепировать, что-то типа $db->quote( $db->getEscaped( $string ), false ); 
Ну и для вывода можно использовать что-то типа htmlspecialchars или опять же использовать escape класса JView
Записан
bzzik
JComments Tester
*

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

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


Contra Gaming Community


« Ответ #4 : 28.01.2011, 11:57:46 »

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

Цитировать
А так перед отправкой в БД их конечно ескепировать, что-то типа $db->quote( $db->getEscaped( $string ), false ); 
Ну и для вывода можно использовать что-то типа htmlspecialchars или опять же использовать escape класса JView
Я вот только не совсем понял про работу htmlspecialchars. Например, если перед отправкой в базу вот такой переменной
$var = <a href='test'>Test</a>, я применю htmlspecialchars, запись в базе уже будет в формате &lt;a href='test'&gt;Test&lt;/a&gt; ?

Просто у себя пробовал, в базу все равно пишется как <a href='test'>Test</a>
Записан
lcd25
Давно я тут
****

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

Сообщений: 374



« Ответ #5 : 12.01.2012, 04:30:47 »

Код
    function Quote( $text, $escaped = true )
 
   {
 
       return '\''.($escaped ? $this->getEscaped( $text ) : $text).'\'';
 
   }

Какой смысл в конструкции
$db->quote( $db->getEscaped( $string ), false );
?
Записан
bzzik
JComments Tester
*

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

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


Contra Gaming Community


« Ответ #6 : 12.01.2012, 11:34:51 »

По моему никакого =)
Записан
Страниц: [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