Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 29 мар 2024, 10:30

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Безопасность в kohana
СообщениеДобавлено: 18 янв 2013, 04:56 
Не в сети
Зеленый

Зарегистрирован: 29 авг 2012, 12:52
Сообщения: 1
Хотелось бы услышать как защищать приложение, xss,sql-инъекции итд..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Безопасность в kohana
СообщениеДобавлено: 18 янв 2013, 20:42 
Не в сети
Бывалый

Зарегистрирован: 06 авг 2012, 22:39
Сообщения: 91
ну насколько я знаю с инъекциями проблема решена на уровне query builder'a.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Безопасность в kohana
СообщениеДобавлено: 02 апр 2013, 21:33 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
Цитата:
Защищает от инъекций первого порядка, но не защищает от инъекций второго порядка.
Т.е. если вам в данные подсунут SQL, то он успешно заэскейпится и попадет в базу без вреда.
Но когда вы эти данные извлечете из базы и захотите использовать в запросе, вас может ждать «сюрприз»

источник: http://habrahabr.ru/post/137664/#comment_4587315
из обсуждения pdo, но к kohana orm также применимо

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Безопасность в kohana
СообщениеДобавлено: 03 апр 2013, 05:04 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
В Gleez, защита приложения от Cross Site Request атак (CSRF) реализована так (0.9.11)


Код:
    /**
     * Returns TRUE if the POST has a valid CSRF
     *
     * Usage:<br>
     * <code>
     *     if ($this->valid_post('upload_photo')) { ... }
     * </code>
     *
     * @param   string|NULL  $submit Submit value [Optional]
     * @return  boolean  Return TRUE if it's valid $_POST
     *
     * @uses    Request::is_post
     * @uses    Request::post_max_size_exceeded
     * @uses    Request::get_post_max_size
     * @uses    Request::post
     * @uses    Message::error
     * @uses    CSRF::valid
     * @uses    Captcha::valid
     */
    public function valid_post($submit = NULL)
    {
        if ( ! $this->request->is_post())
        {
            return FALSE;
        }

        if (Request::post_max_size_exceeded())
        {
            Message::error(__('Max file size of :max Bytes exceeded!',
                array(':max' => Request::get_post_max_size())
            ));
            return FALSE;
        }

        if ( ! is_null($submit) )
        {
            if ( ! isset($_POST[$submit]))
            {
                Message::error(__('This form has altered. Please try submitting it again.'));
                return FALSE;
            }
        }

        $_token  = $this->request->post('_token');
        $_action = $this->request->post('_action');

        $has_csrf = ! empty($_token) AND ! empty($_action);
        $valid_csrf = $has_csrf AND CSRF::valid($_token, $_action);

        if ($has_csrf AND ! $valid_csrf)
        {
            // CSRF was submitted but expired
            Message::error(__('This form has expired. Please try submitting it again.'));
            return FALSE;
        }

        if (isset($_POST['_captcha']))
        {
            $captcha = $this->request->post('_captcha');
            if (empty($captcha))
            {
                // CSRF was not entered
                Message::error(__('The security code can\'t be empty.'));
                return FALSE;
            }
            elseif ( ! Captcha::valid($captcha))
            {
                Message::error(__('The security answer was wrong.'));
                return FALSE;
            }
        }

        return $has_csrf AND $valid_csrf;
    } 


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group