Вопрос GET - POST - Безопасность

Тема в разделе "Вопросы безопасности", создана пользователем CB9T, 20.07.2016.

  1. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума

    Регистрация:
    21.05.2010
    Сообщения:
    2 464
    Симпатии:
    305
    Пол:
    Мужской
    Всем привет! Возник вопрос безопасности и вообще правильности. У меня есть рабочий код:

    Код (PHP):
    1. echo '<div class="monthdate">';
    2. echo '<form action="/administrator/index.php?option=com_myjbzoostat&view=disqus" method="post" class="form-inline">';
    3. if (empty($_POST)) {
    4. $urllistPosts = ''; //do
    5. }
    6. else {
    7.   $urllistPosts = $_POST['urllistPosts'];
    8. }
    9. jbdump($urllistPosts,0,'ПОСТ');
    10.  
    11. echo '<input type="text" name="urllistPosts" value="">';
    12.  
    13. echo '<input type="submit" value="Отправить"></form>';
    14. echo '</div>';


    Думаю все понятно - он отправляет значение сам себе и ловит в POST его потом. По сути все пашет, но может есть вариант лучше? или вдруг это опасно. Принимается критика.
     
  2.  
  3. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    https://docs.joomla.org/Retrieving_request_data_using_JInput
    А в JBZoo нет своих особых классов по обработке значений из форм, как у Вирта ?
    Код (PHP):
    1. if($n = vRequest::get('product_name',false,FILTER_UNSAFE_RAW,FILTER_FLAG_NO_ENCODE,$data['childs'][$k])){
    2.                         $data['childs'][$k]['product_name'] = $n;
    3.                     }

    В Джумла 1.5-26. еще и токен,защита от XSS, дописывается в скрытое поле, и потом проверяется на сервере.
     
  4. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума

    Регистрация:
    21.05.2010
    Сообщения:
    2 464
    Симпатии:
    305
    Пол:
    Мужской
    Мне подсказали так лучше:

    Код (PHP):
    1. $input = JFactory::getApplication()->input;
    2. $urllistPosts = $input->getString('urllistPosts', 'nourl');
    3.  
    4. jbdump($urllistPosts,0,'ПОСТ');
     

Поделиться этой страницей

Загрузка...