0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 2629 Просмотров
*

b_anton_v

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Мне разработали компонент завивки, но посмотрев код я не заметил инструкций на проверку вводимого кода, на вопрос почему не проверяем, осветили что жомла сома проверяет все формы, Так ли это ? 
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: ПОдскажите по безопасности
« Ответ #1 : 28.10.2009, 18:44:44 »
если это предусмотреть в своем компоненте (и использовать версию 1.5) - то там можно сделать проверку формы на лету (на предмет заполненности формы)
Серверная проверка также присутствует если разрабочик работает через JRequest (вредный код будет обрезан)
Пока же непонятно о какой проверке идет речь
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

b_anton_v

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Re: ПОдскажите по безопасности
« Ответ #2 : 28.10.2009, 19:29:11 »
Joomla 1.5
разработчик действительно использовал  JRequest
Если вырезан вредоносный код, то задача решена.
А как этот класс работает, он вырезает или экранирует вредоносный код?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: ПОдскажите по безопасности
« Ответ #3 : 28.10.2009, 19:41:02 »
А как этот класс работает, он вырезает или экранирует вредоносный код?
можете изучить код libraries\joomla\environment\request.php и посмотреть что он делает, у класса есть несколько разных методов, что и как он делает с входными данными
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Dmitry_

  • Осваиваюсь на форуме
  • 47
  • 3 / 0
Re: ПОдскажите по безопасности
« Ответ #4 : 28.10.2009, 19:43:56 »
Любой разрабатываемый компонент необходимо проверять на безопасность от атак. Неплохая статья есть здесь
http://developer.joomla.org/tutorials/181-preventing-sql-injections.html
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: ПОдскажите по безопасности
« Ответ #5 : 28.10.2009, 19:50:55 »
Любой разрабатываемый компонент необходимо проверять на безопасность от атак.
Это естественно, просто родной класс JRequest уже берет на себя базовые аспекты работы с строками, так что нет смысла городить огород
О его использовании в статье как раз и написано
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Dmitry_

  • Осваиваюсь на форуме
  • 47
  • 3 / 0
Re: ПОдскажите по безопасности
« Ответ #6 : 28.10.2009, 20:55:21 »
Это естественно, просто родной класс JRequest уже берет на себя базовые аспекты работы с строками, так что нет смысла городить огород
О его использовании в статье как раз и написано

Если Вы хоть немного сильны в английском, то в статье ясно написано, что JRequest НЕДОСТАТОЧНО ДЛЯ ИСПОЛЬЗОВАНИЯ!
(JRequest is not enough by far!)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: ПОдскажите по безопасности
« Ответ #7 : 28.10.2009, 21:00:39 »
Если Вы хоть немного сильны в английском, то в статье ясно написано, что JRequest НЕДОСТАТОЧНО ДЛЯ ИСПОЛЬЗОВАНИЯ!
(JRequest is not enough by far!)
Если же вы хоть немного понимаете данный класс то ниже показываются примеры его методов
Цитировать
Most people just get data using JRequest::getVar()... But there are a whole bunch of other methods that exist which actually force type much better.  Here are some those methods:
Зачем я буду усложнять свой SQL запрос
Код: php
$sql = 'UPDATE #__mytable SET `id` = ' . (int) $int;
когда достаточно использовать тот же самый класс
Код: php
$int = JRequest::getInt( $name, $default ); 
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Dmitry_

  • Осваиваюсь на форуме
  • 47
  • 3 / 0
Re: ПОдскажите по безопасности
« Ответ #8 : 28.10.2009, 21:08:36 »
В статье скорее всего подразумевалось искуственно созданная переменная (int) $int а не полученная как вы указали из JRequest::getInt( $name, $default ); но если дочитать статью до конца то там написано что переменную нужно получать конкретным типом а не используя JRequest::getVar()....
Если допустим вам нужно выполнить запрос с созданной в функции переменной $int, ее что необходимо получать через JRequest::getInt( $name, $default ); ? ..)))))))))))
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: ПОдскажите по безопасности
« Ответ #9 : 28.10.2009, 21:19:40 »
но если дочитать статью до конца то там написано что переменную нужно получать конкретным типом а не используя JRequest::getVar()
у класса JRequest есть несколько методов, getVar и getInt некоторые из них, которые должен использовать разработчик в своем расширении.
Так что считаю (и думаю что статья лишь это подчеркивает) что родного класса JRequest вполне достаточно для обеспечения безопасности при разработке, главное использовать нужные методы

P.S. в статье говорится кстати что
Цитировать
Most people just get data using JRequest::getVar()... But there are a whole bunch of other methods that exist which actually force type much better.  Here are some those methods:
и соответственнно читать выше про различные методы
Мы с вами говорим про одно и тоже просто разными словами :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поставил Joomla 4. Хостинг nic.ru стал ругаться на ошибки безопасности

Автор Oleg+

Ответов: 5
Просмотров: 2592
Последний ответ 13.09.2021, 09:23:28
от Oleg+
7 советов по оптимизации безопасности Joomla!

Автор Sulpher

Ответов: 96
Просмотров: 100565
Последний ответ 30.03.2021, 12:10:51
от well
Установка дополнительных компонентов для безопасности

Автор Michail19821982

Ответов: 3
Просмотров: 1066
Последний ответ 26.09.2018, 17:41:59
от effrit
Советы по настройке для достижения максимальной безопасности

Автор alexshm

Ответов: 5
Просмотров: 2987
Последний ответ 15.01.2018, 13:41:57
от ChaosHead
Проверка безопасности сайта на Яндексе

Автор Ebelous

Ответов: 5
Просмотров: 1355
Последний ответ 23.03.2017, 20:08:26
от flyingspook