безопасность — Является ли Json_encode () более безопасным, чем сериализация в PHP?

Я тестировал эксплойт сайта.

Уязвимость связана с внедрением объектов PHP.

Злоупотребление unserialize() может вызвать эти проблемы.

Кроме того, я нашел предупреждение в официальном руководстве php, как показано ниже:

предупреждение

Они предполагают, что мы должны использовать json_encode() а также json_decode(),

Однако мне интересно, почему json_encode() а также json_decode() более безопасны, чем serialize() а также unsrialize()?

1

Решение

Разница в том, что serialize хранит объект. Если вы измените содержимое строки перед десериализацией, вы можете обмануть систему для запуска вредоносного кода.

С функциями json_ * вы сохраняете не объект, а данные. После «распаковки» объект должен быть создан из оригинальных источников, и только после этого могут быть переданы данные json_decoded для обработки.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]