Безопасный метод для хранения объекта PHP в базе данных MySQL?

Как безопасно сохранить объекты PHP в базе данных MySQL?

Если вы используете функции сериализации и десериализации, вы можете получить инъекции объектов (https://www.owasp.org/index.php/PHP_Object_Injection).

Есть ли заранее определенный стандарт о том, как справиться с этим?

Обратите внимание, что SQL-инъекция = / = инъекция объекта! Так что PDO — это другая история!

0

Решение

Вы можете сохранить объект в MySQL как JSON, используя json_encode

json_encode($object);

Затем вы можете сохранить его в MySQL и использовать json_decode, чтобы запустить его как объект

$object = json_decode($result->object);

Кроме того, лучший способ сохранить JSON в базу данных MySQL, чтобы сохранить его в виде текста

1

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

Просто сохраните это как текст. Вы можете использовать serialize или json_encode.

Тем не менее, я бы предложил json_encode из-за того, что вы можете возвращать его в ajax-сообщениях напрямую, если у вас гибкий пользовательский интерфейс или вы используете несколько хороших фреймворков.

Просто мои 2 цента.

0

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