Этот метод так же «безопасен», как и любой другой тип входящих GET или POST-данных - вам всегда потребуется санировать данные перед началом работы с ним!Но есть и другие проблемы с десериализацией пользовательских данных.
При десериализации объекта PHP будет проверять, есть ли у класса __wakeup
магический метод .Этот метод будет выполнен при его наличии.
Теперь это не является серьезной дырой в безопасности, поскольку определение класса никогда не передается в сериализованных данных.Любой вредоносный код должен уже присутствовать в системе.Однако существуют возможные сценарии, в которых это может быть проблемой (например, система плагинов, которая может устанавливать сторонний код), и я был бы очень осторожен с этим.
Кроме того, теоретически это позволяет злоумышленнику создать объект любого класса внутри вашего скрипта.Хотя это не является проблемой безопасности сразу, это, безусловно, не очень хорошая практика.
Кодирование JSON было бы более безопасным способом, поскольку оно может содержать только «тупые» данные.