Как фильтровать входные данные, если они приходят в json?

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
laughingman
Сообщения: 47
Зарегистрирован: 2015.06.17, 15:04

Как фильтровать входные данные, если они приходят в json?

Сообщение laughingman »

Данные приходят по средствам ajax в формате json.
сохраняются в БД примерно так.
для наглядность просто приведу то что приходит, и как сохраняется, может кто-нибудь знает как фильторовать

Код: Выделить всё

        $data = json_decode ($_post['data']);

        $RequisitesForDelivery                        = new RequisitesForDelivery();
        $RequisitesForDelivery->typepointdelivery     = $data->typepointdelivery;
        $RequisitesForDelivery->address_pointdelivery = $data->pointofdelivery_qiwi;
        $RequisitesForDelivery->phone                 = $data->phohe;
        $RequisitesForDelivery->email                 = $data->email;
        $RequisitesForDelivery->comment               = $data->comment;
        $RequisitesForDelivery->save(false);

пробовал получать данные через

Код: Выделить всё

Yii::app()->getRequest()->getPost('email'); 
всё равно в базу попадают слеши кавычки и всё что угодно
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Как фильтровать входные данные, если они приходят в json?

Сообщение SiZE »

покажи что в $_post['data'] у тебя
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как фильтровать входные данные, если они приходят в json?

Сообщение zelenin »

laughingman писал(а):Данные приходят по средствам ajax в формате json.
сохраняются в БД примерно так.
для наглядность просто приведу то что приходит, и как сохраняется, может кто-нибудь знает как фильторовать

Код: Выделить всё

        $data = json_decode ($_post['data']);

        $RequisitesForDelivery                        = new RequisitesForDelivery();
        $RequisitesForDelivery->typepointdelivery     = $data->typepointdelivery;
        $RequisitesForDelivery->address_pointdelivery = $data->pointofdelivery_qiwi;
        $RequisitesForDelivery->phone                 = $data->phohe;
        $RequisitesForDelivery->email                 = $data->email;
        $RequisitesForDelivery->comment               = $data->comment;
        $RequisitesForDelivery->save(false);

 
пробовал получать данные через

Код: Выделить всё

Yii::app()->getRequest()->getPost('email');
всё равно в базу попадают слеши кавычки и всё что угодно
а почему не должны?
laughingman
Сообщения: 47
Зарегистрирован: 2015.06.17, 15:04

Re: Как фильтровать входные данные, если они приходят в json?

Сообщение laughingman »

я думал вот эта штука

Код: Выделить всё

Yii::app()->getRequest()->getPost('email'); 
экранирует такие вещи.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как фильтровать входные данные, если они приходят в json?

Сообщение zelenin »

laughingman писал(а):я думал вот эта штука

Код: Выделить всё

Yii::app()->getRequest()->getPost('email');
экранирует такие вещи.
причем тут json, кавычки, слэши, экранирование и вот это https://github.com/yiisoft/yii/blob/mas ... t.php#L199 ?
laughingman
Сообщения: 47
Зарегистрирован: 2015.06.17, 15:04

Re: Как фильтровать входные данные, если они приходят в json?

Сообщение laughingman »

zelenin писал(а):
laughingman писал(а):я думал вот эта штука

Код: Выделить всё

Yii::app()->getRequest()->getPost('email'); 
экранирует такие вещи.
причем тут json, кавычки, слэши, экранирование и вот это https://github.com/yiisoft/yii/blob/mas ... t.php#L199 ?
json тут уже не причем, я просто не понимаю. безопасно ли сохранять так как я сохраняю, или что-то ещё нужно?
Аватара пользователя
valentinich
Сообщения: 171
Зарегистрирован: 2014.03.25, 13:58

Re: Как фильтровать входные данные, если они приходят в json?

Сообщение valentinich »

Используйте метод validate(), для "фильтрации" входных данных - http://www.yiiframework.com/doc/api/1.1 ... ate-detail
Либо уберите false при использовании метода save()
Тяжела и неказиста жизнь простого программиста :|
Ответить