Сценарий, безопасный для маринования в Python - PullRequest
0 голосов
/ 19 марта 2019

Мне известно, что возможны серьезные последствия для безопасности при травлении / расслоении. Я планировал использовать консервирование как способ хранения и передачи экземпляра объекта в модели Django с использованием jsonpickle. Я также собирался использовать хэш или подпись, чтобы проверить целостность рассола перед расщеплением (то есть отправить хеш, затем отправить рассол, что угодно).

Поскольку мой собственный код будет производить засоленный объект, будет ли этот метод достаточно безопасным (относительно или абсолютно), если предположить, что любой объект в пути также будет зашифрован?

1 Ответ

0 голосов
/ 18 апреля 2019

Если вы просто передадите JSON (зашифрованный, скажем, из-за использования https-соединения), вы исключите риск выполнения произвольного кода, свойственный методу pickle. И вы можете проверить данные перед их использованием. Вам просто нужно беспокоиться о том, чтобы принимать данные от кого-то (и это касается аутентификации), которому разрешено общаться с вами.

Вы можете настроить сериализацию JSON, если она не поддерживает требуемый тип.

Обмен JSON довольно распространен, например, для API REST.

Это выглядит безопасно (хотя я не эксперт по безопасности) и намного проще.

...